Android 大屏幕和小屏幕的多屏幕支持

Android 大屏幕和小屏幕的多屏幕支持,android,android-layout,android-screen-support,android-screen,Android,Android Layout,Android Screen Support,Android Screen,好的,我已经读了很多章节,但我仍然不知道什么是最好的事情做这个项目 我有一个项目[大一:)],在这个项目中,所有的事情都是为分辨率为480 x 800像素的屏幕做的 这是新的要求:)。他们要求支持分辨率为240 x 320像素(这种布局分辨率很小)的设备。好的,到目前为止还不错:),但问题是240x320的分辨率太小,无法仅通过缩放布局法线来适应组件。我需要为小屏幕手机设计全新的设计 这意味着,如果我在layout/main.xml中有文本字段R.id.textview1,现在在layout s

好的,我已经读了很多章节,但我仍然不知道什么是最好的事情做这个项目

我有一个项目[大一:)],在这个项目中,所有的事情都是为分辨率为480 x 800像素的屏幕做的

这是新的要求:)。他们要求支持分辨率为240 x 320像素(这种布局分辨率很小)的设备。好的,到目前为止还不错:),但问题是240x320的分辨率太小,无法仅通过缩放布局法线来适应组件。我需要为小屏幕手机设计全新的设计

这意味着,如果我在layout/main.xml中有文本字段R.id.textview1,现在在layout small/main.xml中,我将没有R.id.textview1,但现在我将有两个组件,比如R.id.button1和R.id.textviewsmall。。。我的观点是这样的代码不起作用,因为在layout/main.xml中存在textview1,但在layout small/main.xml中不存在,并且它将引发异常

((TextView)findViewbyId(R.id.textview1)).setText("something");
当然,我所解释的是一个非常愚蠢的场景,我有一些非常复杂的事情,但我希望你能理解我想要达到的目的

问题是实现片段已经太晚了,因为需要做很多工作。所以我需要一些指导,我应该怎么做

任何想法或一些设计指南都会很有帮助,谢谢…

是的,你可以这样做。 在许多应用程序中,我们可以根据需要手动设置此类布局

为此,您首先必须以编程方式获取屏幕高度和宽度。 现在一次,如果你明白了。 您可以在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>


我必须同意你的观点,这是解决问题的方法之一。但我的问题是,还有其他选择吗,tnxI看到了你试图解释什么,同样的事情在多屏化脓中解释过,这一部分我很清楚。但请仔细阅读粗体文本,因为这是我不知道如何理解的部分handle@Lukap当前位置我已经成功地完成了你所说的。请随便跟我聊聊,你读了吗