我想知道如何在android xml文件中读取属性文件值,例如:
android代码:
<TextView
android:id="@+id/teamname1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/Team1"
android:textSize="6pt"/>
而不是硬编码android:textSize = "6pt"
我希望将其配置在另一个xml /属性文件中,如key = value
为size1 = 6pt
,然后我可以读取android:textSize = "../size1"
答案 0 :(得分:1)
您需要在值文件夹中使用dimen.xml
文件,无需硬编码
您需要使用dp
代替pt
<resources>
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
<integer name="grid_num_rows">4</integer>
<integer name="grid_num_cols">3</integer>
<dimen name="text_size_teamname">6sp</dimen>
</resources>
当您使用dp
或sp
时,它会根据您的设备密度自动缩放
像 如果你使用6dp它将会改变
for MDPI = 6px
for HDPI = 9px
for XHDPI= 12px
答案 1 :(得分:0)
实际上,您可以在资源中声明一个尺寸,如Padma所示 -
<resources>
<dimen name="textSizeSmall">14sp</dimen>
</resources>
稍后,您可以像
一样使用它<TextView
android:id="@+id/teamname1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/Team1"
android:textSize="@dimen/textSizeSmall" />
答案 2 :(得分:0)
创建values / dimens.xml文件并声明size1维度
<resources>
<dimen name="size1">6pt</dimen>
</resources>
然后在布局中使用此属性。
<TextView
android:id="@+id/teamname1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/Team1"
android:textSize="@dimen/size1"/>