如何在android xml文件中读取属性文件值

时间:2014-05-07 06:49:00

标签: android xml

我想知道如何在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 = valuesize1 = 6pt,然后我可以读取android:textSize = "../size1"

3 个答案:

答案 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>

当您使用dpsp时,它会根据您的设备密度自动缩放

像 如果你使用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"/>