我对平板电脑和设备都使用相同的代码,这是我的问题,虽然在两个方向来到移动它应该加载列表视图,在纵向平板电脑它需要加载listview然后来景观它应加载gridview?
由于
我使用过此代码,任何人都可以帮助我PLZ ..
Configuration config = getResources().getConfiguration();
if((config.screenLayout & Configuration.ORIENTATION_LANDSCAPE) ==
Configuration.SCREENLAYOUT_SIZE_XLARGE));
{
this.gridView();
}else{
this.listview();
}
答案 0 :(得分:2)
如果您正在为布局使用xml,那么您需要做的就是创建不同的xml文件,并将它们放在布局文件夹中,并使用适当的配置限定符。有关详细信息,请参阅此article。
对于您,您将使用以下文件夹:
res/layout/my_layout.xml // layout for normal screen size ("default"). Listview here
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation. Gallery here
请记住,如果这些文件夹不存在,则需要创建这些文件夹。
在你的代码中,如果你调用setContentView(R.id.my_layout)
,android将使用适当的布局。然后,您可以执行findViewById()
调用,它应该为未使用的布局视图返回null。您可以在ListView和GridView上执行findViewById()
。根据哪个视图返回null,您可以适当地设置成员(this.gridView或this.listView)。