我正在为我的嵌入式项目开发android应用程序,我对android很新。 我已经开发了UI,它应该适用于android中的所有类型的屏幕(所有分辨率)。
以下是我所有解决方案的代码:
if ( ((width>=240)&&(width<=320))&&((height>=320)&&(height<=480)) )
{
setContentView(R.layout.xsmall_layout);
}
else if( ((width>=360)&&(width<=480))&&((height>=640)&&(height<=720)) )
{
setContentView(R.layout.small_layout);
}
else if ( ((width>=480)&&(width<=540))&&((height>720)&&(height<=960)) )
{
setContentView(R.layout.medium_layout);
}
else if ( ((width>540)&&(width<=800))&&((height>=1024)&&(height<=1280)) )
{
setContentView(R.layout.vlarger_layout);
}
else if ( ((width>800)&&(width<=1080))&&((height>=1280)&&(height<=1920)) )
{
setContentView(R.layout.x_vlarger_layout);
}
else if ( ((width>=800)&&(width<=1024))&&((height>=480)&&(height<600)) )
{
setContentView(R.layout.wlarger_layout);
}
else if ( ((width>=1024)&&(width<=1280))&&((height>=600)&&(height<=800)) )
{
setContentView(R.layout.x_wlarger_layout);
}
else if ( ((width>=1280)&&(width<=2560))&&((height>800)&&(height<=1600)) )
{
setContentView(R.layout.xx_wlarger_layout);
}
它的工作正常,但这是一个好习惯吗? 而在我的电脑(英特尔双核,2GB RAM)中,代码中的最后一个分辨率无效。 我试过1920x1200和2560x1600。 Android模拟器只是没有运行。 只是它即将到来的黑屏。 这是我的PC问题还是什么......? 帮助我前辈......
答案 0 :(得分:2)
您可以在res
文件夹中创建不同的布局文件夹,而不是:
layout-land
layout-large
layout-large-land
layout-xlarge
layout-xlarge-land
在每个文件夹中保持xml布局文件的名称相同,但您可以提及不同的维度值。
无论如何,这是你可以做的测试案例:
答案 1 :(得分:1)
请参考以下内容: http://developer.android.com/guide/practices/screens_support.html
在本文档中,他们清楚地解释了所有支持屏幕分辨率和dpi。
答案 2 :(得分:0)
嗨火星尝试这样http://developer.android.com/guide/practices/screens_support.html
他们在res中创建了这些布局文件夹
并将相同的xml
文件打包到每个布局:
layout
layout-small
layout-large
layout-xlarge
这件事会照顾屏幕尺寸。
即桌子,智能手机等