多屏幕支持大屏幕和小屏幕
okey,我已阅读了很多关于此的章节,但我仍然不知道该项目最适合做什么。多屏幕支持大屏幕和小屏幕
这里是我有一个项目[大一:) :)的情况,在这个项目中,一切都是为分辨率为480 x 800像素的屏幕完成的。
这是新的要求:)。他们要求支持分辨率为240 x 320像素的设备(这种布局分辨率很小)。到目前为止这么好:),但问题是240x320的分辨率,它太小,以适应与布局正常缩放比例的组件。我需要为小屏幕手机设计全新的设计。
这意味着如果我现在在layout-small/main.xml中在layout/main.xml中有文本文件R.id.textview1我不会有R.id.textview1但是我会有两个现在的组件让说R.id.button1和R.id.textviewsmall ...我的观点是这样的代码将无法正常工作原因在布局/ main.xml文本view1存在,但在layout-small/main.xml不,并且它会抛出异常
((TextView)findViewbyId(R.id.textview1)).setText("something");
当然
这是我已解释是非常愚蠢的scenarion,我有事真的很复杂,但我希望你明白我的意思是我想达到的。
现在的问题是实施碎片太迟了,因为这将会是很多工作应该完成的。所以我需要一些指导我应该怎么做呢?
任何意见或一些设计准则将是很大的帮助,谢谢...
是的,你可以这样做。 在许多应用程序中,我们可以根据需要手动设置此类布局。
为此,您首先必须以编程方式获取屏幕高度和宽度。 现在一次,如果你明白了。 你可以在Java文件中创建条件,如果屏幕高度和宽度等等。然后做这个。
希望你有我的观点。
或者
如果你想通过XML设置布局遂作出上述不同的布局XML作为象下面这样:
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 // bitmap for medium density
res/drawable-hdpi/my_icon.png // bitmap for high density
res/drawable-xhdpi/my_icon.png // bitmap for extra high density
而且这样做,你可以手动设置的高度和宽度后具体的布局。希望这将成为您问题的解决方案。
如果它不是你的解决方案,那么让我通知。 。 。
享受。 :)
一种可能的方式是创建小屏幕的布局,并指定重量属性,然后它会在大屏幕上调整自己。如果您也使用不同密度的图像,那么它在大多数情况下可能适用于您。 这里是你如何在布局中指定权重。
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="small"
android:layout_weight="0.2"
android:background="#123" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.8"
android:text="huge"
android:background="#456"
/>
</LinearLayout>
你读过http://developer.android.com/guide/practices/screens_support.html – himanshu 2012-01-31 04:36:25