我使用dailpad
为LinearLayout
创建了一个布局,并使用layout_weight
对该数字进行了划分。
<LinearLayout
android:id="@+id/layout_digitOne"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical"
android:weightSum=".9">
<TextView
android:id="@+id/digit_one"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight=".6"
android:layout_centerInParent="true"
android:gravity="center"
android:textColor="#e03a2f2d"
android:textSize="45sp"
android:text="1"/>
<TextView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight=".2"
android:layout_gravity="top"
android:gravity="top|center_horizontal"
android:textSize="15dp"
android:text=""/>
</LinearLayout>
这里对于TextView中的数字one
,我将文本的大小设置为45sp。但是当由于布局中指定的文本大小而获得小屏幕时,布局正在破坏。
是否可以根据TextView layout_height can set the textSize
任何人都可以给我一个想法 在此先感谢:)
答案 0 :(得分:2)
您需要制作不同的布局或使用该库,
答案 1 :(得分:0)
你应该使用样式,然后你可以有单独的文件夹“值”(默认)“values-hdpi”(高密度)“values-mdpi”(中等密度)等等,并将你的样式文件与正确的textSize值放在一起在每个文件夹中根据需要。
例如,
res/values/dimens.xml
res/values-small/dimens.xml
res/values-normal/dimens.xml
res/values-large/dimens.xml
res/values-xlarge/dimens.xml
现在指定您希望保留在不同XML文件中的值。 实施例
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="text_size">18sp</dimen>
</resources>
通过执行此操作,它将根据您的屏幕大小获取正确的XML,并设置该XML中提到的TextSize。
答案 2 :(得分:0)
使用dimens.xml根据设备大小控制TextView
的大小。您可以通过在dimens.xml的不同版本中设置不同大小的Text来执行此操作,然后在布局xml中引用大小,而不是直接对其进行硬编码。
<TextView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight=".2"
android:layout_gravity="top"
android:gravity="top|center_horizontal"
android:textSize="@dimen/<nameOfTextSizeInDimens>"
android:text=""/>