好吧,我读过很多关于这个的章节,但是我仍然不知道什么是这个项目最好的方法。
下面是我有一个大项目的情况:),在这个项目中,所有的事情都是为分辨率为480×800像素的屏幕所做的。
以下是新的要求:)。他们要求支持分辨率为240×320像素的设备(布局分辨率很小)。到目前为止还不错:),但问题是240x320的分辨率太小,无法适应组件的布局缩放-正常。我需要一个全新的小屏幕手机设计。
--这意味着,如果我在layout/main.xml中将文本归档为R.id.textview1 --小/main.xml,我将不使用R.id.textview1,但现在有两个组件,比如R.id.button1和R.id.textviewsmall.我的观点是这样的代码不会在textview1存在的布局/main.xml中工作,但是在布局中--小/main.xml不起作用,并且它会抛出异常
((TextView)findViewbyId(R.id.textview1)).setText("something");当然,我所解释的是非常愚蠢的场景,我有一些非常复杂的东西,但我希望你能明白我想要达到的目的。
问题是,实现片段为时已晚,因为需要做的工作很多。所以我需要一些指导我该怎么做..。
任何想法或设计准则都会有很大帮助,谢谢.
发布于 2012-01-27 09:15:17
是的你可以这样做。在许多应用程序中,我们可以在需要的时候手动设置此类布局。
为此,首先必须以编程方式获取屏幕的高度和宽度。如果你拿到了,现在再来一次。您可以在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然后,您可以手动设置特定布局的高度和宽度。希望它能解决你的问题。
如果这不是你的解决方案,那就让我告诉你。。。
好好享受吧。:)
发布于 2012-10-26 16:15:08
一种可能的方法是为小屏幕创建布局并指定权重属性,然后在大屏幕上调整自己。如果你也使用不同的密度图像,那么在大多数情况下,它可能对你有用。下面是如何在布局中指定权重的方法。
<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>https://stackoverflow.com/questions/9030882
复制相似问题