我已阅读很多关于支持多种屏幕尺寸的文档,但仍然感到困惑。 我读过如果在dp中指定它会自动缩放。
在我的示例中,我只有一个布局。在那里我放置了一个编辑文本。 给定宽度,假设为170 dp。假设宽度方面它是5英寸手机模拟器中屏幕的一半。
我所期待的是,如果我在7英寸或10英寸的平板电脑上显示它,它也将是屏幕宽度的一半(即它会自动缩放)。但它没有。在10英寸的平板电脑中,它只是非常小的尺寸。
我应该怎么做才能通过布局xml(只有单个xml)来实现这个目标
答案 0 :(得分:2)
不要为Textview设置静态宽度,因为android会使用
自动将其缩放到正确的大小 android:layout_width="fill_parent"
android:layout_height="wrap_content"
基本上它的作用是使TextView成为设备宽度的完整大小,并将高度仅包装到文本所需的高度。
如果你愿意,你也可以为宽度做warp_content。这是最好的方法。如果静态设置,则需要使用XML创建不同的布局。
答案 1 :(得分:1)
学习使用布局权重,您可以像百分比一样使用它们。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<TextView
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="50"
android:text="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" />
<View
android:layout_width="0dip"
android:layout_height="0dip"
android:layout_weight="50" />
</LinearLayout>
这里textview占据屏幕宽度的50%,而另一个视图是一种不可见的间隔占据屏幕宽度的另外50%。
看起来像这样(Eclipse XML预览):
正如您所看到的,当文本视图达到屏幕的50%时,它会换行。适用于各种尺寸的屏幕。