针对不同活动的不同布局文件

时间:2012-10-21 11:19:42

标签: android

我应该将所有活动的xml横向布局文件放在同一个layout-land文件夹中吗? 如果有3个活动和3个景观布局,那么我应该如何在布局土地文件夹中将它们命名为可识别?

我有2个活动--A和B,它们在layout-land文件夹中都有2个lanscape布局,但只有活动A可以找到横向布局,而活动B找到活动A的横向布局并使用它。为什么?如何将景观布局映射到其活动?

//ACTIVITY- A
    @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Intent bmr= new Intent(TdeeActivity.this,BMRActivity.class);
startActivityForResult(bmr,CALLED_ACTIVITY);    

}

@Override
protected void onResume() {
            super.onResume();
            setContentView(R.layout.activity_tdee);
            Button ok=(Button)findViewById(R.id.btnOk);
            rdActLevel=(RadioGroup) findViewById(R.id.rd);
            ok.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View arg0) {
                    showResult();
                }

            });             
}

3 个答案:

答案 0 :(得分:0)

你给它们与纵向模式中的名称相同,只要你把它们放在正确的文件夹(layout-land)中,它们就会被自动加载。 是的,如果有意义,你需要为景观中的每个活动提供不同的布局。

答案 1 :(得分:0)

Android活动自动识别布局土地。如果你在android layout-land和portrait模式中放置相同的名称布局并在你的活动类中加载这个布局,那么android会自动识别它。

感谢。

答案 2 :(得分:0)

这不是一项规则,但最好预测用户体验。如果您未包含一个横向布局,则Android会在旋转手机时自动调整其大小。这可能会导致糟糕的用户体验(如图像拉伸,错误的Widget大小或重叠)。如果您在两个方向上的许多屏幕尺寸上测试您的应用程序并且对结果感到满意,那么您不需要为每个布局添加一个。

对于活动关系,活动数量和布局数量之间没有关联(您可能有多个活动有一个布局,通过代码进行的改动很少)。这实际上取决于每个布局代表的内容。

在上一个问题之前,您需要在layout-land中使用与layout Android文件夹中完全相同的名称命名xml文件,以便正确映射它们。