如何在类中添加地址布局 - 小活动文件夹

时间:2017-10-28 17:25:32

标签: android android-layout screen-size setcontentview

嗨我使用本教程https://stackoverflow.com/q/7665194/840861制作res / layout-small / my_layout.xml,我想在主要活动中添加此xml文件,但无法像本教程那样解决它https://android-developers.googleblog.com/2011/07/new-tools-for-managing-screen-sizes.html

我想要这样的代码:

public class MyActivity extends Activity {
@Override protected void onCreate(Bundle savedInstanceState) {
    super.onCreate();

    Configuration config = getResources().getConfiguration();
    if (config.smallestScreenWidthDp >= 600) {
        setContentView(R.layout.main_activity_tablet);
    } else {
        setContentView(R.layout.main_activity);
    }
}
}

我的代码是:

 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    setContentView(R.layout.activity_main);
}

但不能解决xml:

setContentView(R.layout-small.activity_main);

我创建成功文件夹布局 - 小和过去的xml文件activity_main但不能添加地址

对不起,我的英语语言不好

1 个答案:

答案 0 :(得分:0)

  

make res / layout-small / my_layout.xml

没有理由创建res/layout-small/目录。这与res/layout/具有相同的效果,表示将这些资源用于每个屏幕尺寸。

尺寸限定符(-small-normal-large-xlarge及其更现代的等价物(如-w640dp)说“将这些资源用于任何事情就是这个尺寸或更大“。因此,res/layout-large/-small屏幕上不会使用-normal资源,而res/layout-w640dp/资源不会用于当前宽度小于640dp的设备上。但所有屏幕均为-small或更大,因此res/layout-small/将匹配每个设备。

setContentView(R.layout-small.activity_main);

当您使用资源时,您永远不会放置限定符。将其替换为:

setContentView(R.layout.activity_main);