我开发了Android
app,其中一些屏幕具有通用的UI格式。
自上而下方法的格式为:
buttons
,ImageView
)Relative Layout
有三个Imagebuttons
)我想重新格式化代码,使得xml
包含标题页眉和页脚布局,而其他xml
包含ListView
,标签,按钮......基于用法。我能实现这个吗?请帮我提供示例代码/链接....
答案 0 :(得分:3)
您可以使用include元素来获取子xml文件:
<LinearLayout ... >
<include layout="@layout/header" />
<include layout="@layout/content" />
<include layout="@layout/footer" />
</LinearLayout>
这将允许您轻松创建重用这些部分的布局。
答案 1 :(得分:0)
使用标签。
<include
android:id="@+id/some_id_if_needed"
layout="@layout/some_layout"/>
答案 2 :(得分:0)
您需要的是include
标记。您可以重复使用布局。您需要做的就是包括它们:
<include
android:id="@+id/layout_id"
layout="@layout/layout_name" />
答案 3 :(得分:0)
您可以使用include标记在actvity视图中添加更多xml,只需查看此http://developer.android.com/training/improving-layouts/reusing-layouts.html。
例如,在您的情况下,
答案 4 :(得分:0)
我建议你利用java中的继承。拥有BaseActivity
,您可以在其中定义活动中的所有常见内容,并在所有子活动中扩展此内容并设置内容。在BaseActivity
的布局中,内容的布局为空,稍后在子活动中,您可以使用LayoutInflater填充内容。
伪代码:
BaseActivity extends Activity{
View mBody;
void onCreate(Bundle prevState){
super.onCreate(prevState);
setContentView(R.layout.baselayout);
mBody = findViewById(R.id.body)
}
void setBody(int bodyLaout){
//here populate the mView using LayoutInflater
}
}
Activity1 extends BaseActivity{
void onCreate(...){
super.onCreate(...);
setBody(R.layout.activity_one);
}
}