Cra*_*aig 10 android android-layout
我有一个带有a的布局,TextView我希望android:gravity从另一个资源文件中提取属性值android:gravity="@???/item_align",其中item_align是另一个xml文件中的资源名称.在布局设计中使用的典型值,center或者bottom或bottom|center_horizontal不工作.@???如果我用实际的整数值("center"替换为0x011)替换字符串,那么整数是什么类型的.但是,这不是一个好的解决方案.
那么,问题是:我如何引用布局文件中的值,以及资源文件中的项目是什么样的?
<TextView
android:id="@+id/item_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_margin="1dp"
android:layout_centerHorizontal="true"
android:gravity="@???/item_align"
android:text="65"
android:textSize="20sp"
android:typeface="sans"
android:textStyle="bold"
android:textColor="#000000" />
Run Code Online (Sandbox Code Playgroud)
wts*_*g02 15
概念:
android:gravity="@integer/integer_name"
Run Code Online (Sandbox Code Playgroud)
integers.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<integer
name="integer_name"
>1</integer>
</resources>
Run Code Online (Sandbox Code Playgroud)
重力值都是整数常量,您必须查找它并在integers.xml中定义它.
示例实现:
public static final int CENTER ...常数值:17(0x00000011)
在docs中 ......然后你在res/values /中添加你的integers.xml:
<integer
name="center"
>17</integer>
Run Code Online (Sandbox Code Playgroud)
并在您的xml中,执行:
android:gravity="@integer/center"
Run Code Online (Sandbox Code Playgroud)
mil*_*mns 10
干得好.
<integer name="gravity_bottom">80</integer>
<integer name="gravity_center">17</integer>
<integer name="gravity_center_horizontal">1</integer>
<integer name="gravity_center_vertical">16</integer>
<integer name="gravity_end">8388613</integer>
<integer name="gravity_left">3</integer>
<integer name="gravity_no_gravity">0</integer>
<integer name="gravity_right">5</integer>
<integer name="gravity_start">8388611</integer>
<integer name="gravity_top">48</integer>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1818 次 |
| 最近记录: |