我正在Android中创建一个必须支持多个屏幕的应用程序.
为此目的,我已经阅读了很多答案,我最喜欢的一个是,我可以通过以下名称在res文件夹中创建不同的文件夹,
对于小屏幕布局 - 小,
对于大屏幕布局 - 大,
对于超大屏幕布局-xlarge
我必须为同名的不同屏幕创建不同的布局.例如mylayout.xml
我必须在manifest.xml文件中放入以下代码
最后我只需要在我的Activity文件中写下以下行,
setContentView(R.layout.mylayout);
现在当我在不同尺寸的屏幕上运行这个应用程序时,它应该根据屏幕分辨率从不同的文件夹中获取布局.
但这种情况在我的情况下并没有发生.它只采用布局文件夹中定义的布局.
请有人可以解释一下为什么会发生这种情况以及如何解决这个问题,以便我的应用可以在所有尺寸的屏幕上有效运行.
尝试像:
布局sw320dp
布局sw480dp
布局sw600dp
布局sw720dp
代替
布局小,
布局大等...
请参考以下链接:
http://developer.android.com/guide/practices/screens_support.html 对于不同的屏幕尺寸,以下是应用程序中的资源目录列表,它为不同的屏幕尺寸提供不同的布局设计,并为小型,中型提供不同的位图可绘制,高密度和超高密度屏幕.您可以在res文件夹中使用不同大小的布局文件,并根据密度对可绘制图像进行更改.
res/layout/my_layout.xml // layout for normal screen size ("default") res/layout-small/my_layout.xml // layout for small screen size res/layout-large/my_layout.xml // layout for large screen size res/layout-xlarge/my_layout.xml // layout for extra large screen size res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation
res/drawable-mdpi/my_icon.png //中密度res/drawable-hdpi/my_icon.png位图//高密度res/drawable-xhdpi/my_icon.png位图//高密度位图
然后任何活动使用这一行..
机器人:configChanges = "方向|屏幕尺寸| keyboardHidden"