我正在尝试在Android应用程序中每个布局的底部添加“您处于离线状态”元素。我想全局定义它,而不是将相同的元素粘贴到每个xml布局文件中。
我可能可以创建一些ParentActivity并以编程方式将其附加,但这是一个好的解决方案?
什么是最好的方法?
谢谢。
答案 0 :(得分:2)
使用自定义BottomSheetDialog
。您不必将其包含在布局文件中。相反,您将以编程方式调用它。
BottomMessageDialog:
public class BottomMessageDialog extends BottomSheetDialog {
public BottomMessageDialog(@NonNull Context context) {
super(context);
setContentView(R.layout.dialog_bottom_message);
}
}
dialog_bottom_message.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="50dp"
android:text="You are offline"
android:textSize="18sp"
android:gravity="center"/>
</LinearLayout>
调用:
BottomMessageDialog bottomMessageDialog = new BottomMessageDialog(MainActivity.this);
bottomMessageDialog.show();
希望这会有所帮助。
答案 1 :(得分:1)
创建xml文件
footer.xml
在其中进行布局,然后将此代码写到您想要该页脚的xml文件中
<include
android:layout_height="wrap_content"
android:layout_width="fill_parent"
layout="@layout/footer"
android:id="@+id/footer"/>
答案 2 :(得分:1)
最好的方法是使用您想要的任何名称创建自定义xml文件,并且您可以随意使用它多次,而无需进行任何复制和粘贴。
第1步:创建名为footer_message的自定义布局。
<TextView
android:layout_width="match_content"
android:layout_height="wrap_content"
android:text="You are Offline"/>
步骤2:将该自定义布局添加到您想要该味精的另一个xml中。
<include
android:id="@+id/footer_message"
layout="@layout/footer_message"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>