全局定义的布局元素

时间:2018-11-21 10:14:33

标签: java android

我正在尝试在Android应用程序中每个布局的底部添加“您处于离线状态”元素。我想全局定义它,而不是将相同的元素粘贴到每个xml布局文件中。

我可能可以创建一些ParentActivity并以编程方式将其附加,但这是一个好的解决方案?

什么是最好的方法?

谢谢。

3 个答案:

答案 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"/>