从strings.xml提供layout_height和layout_width

GAM*_*AMA 2 java xml android android-layout android-imageview

我试图ImageView从常量字符串设置高度和宽度strings.xml,如下所示:

 <ImageView
            android:id="@+id/GetMailing"
            android:layout_width="@string/continueBtnWidthHD"
            android:layout_height="@string/continueBtnHeightHD"
            android:layout_gravity="center"
            android:src="@drawable/continue_button_style" />
Run Code Online (Sandbox Code Playgroud)

strings.xml,我有:

<string name="continueBtnHeightHD">60dp</string>
<string name="continueBtnWidthHD">250dp</string>
Run Code Online (Sandbox Code Playgroud)

但这会在执行时出错setContentView(view_Id).

错误是java.lang.RuntimeException:二进制XML文件行#82:您必须提供layout_width属性.

我正在使用这种方法,因为我想在不同的地方使用相同的值.

这有点奇怪,因为我用同样的方法来设置maxlengthEditText,它的工作的罚款.

我做错了吗?

任何帮助赞赏.

小智 7

而不是提供"字符串"作为资源,你提供它"dimen"作为:

在dimens.xml中

<dimen name="continueBtnHeightHD">60dp</dimen>
<dimen name="continueBtnWidthHD">250dp</dimen>
Run Code Online (Sandbox Code Playgroud)

在活动xml文件中

 <ImageView
            android:id="@+id/GetMailing"
            android:layout_width="@dimen/continueBtnWidthHD"
            android:layout_height="@dimen/continueBtnHeightHD"
            android:layout_gravity="center"
            android:src="@drawable/continue_button_style" />
Run Code Online (Sandbox Code Playgroud)