12

を含むレイアウトがあり、属性値を別のリソース ファイル から取得しTextViewたいと考えています。ここで、 は別の xml ファイル内のリソースの名前です。レイアウトで使用される典型的な値、または機能しない。文字列を実際の整数値 (「中心」を 0x011 に置き換えたもの) に置き換えると、整数型が機能します。しかし、それは良い解決策ではありません。android:gravityandroid:gravity="@???/item_align"item_aligncenterbottombottom|center_horizontal@???

質問: レイアウト ファイル内の値を参照するにはどうすればよいですか? また、リソース ファイル内のアイテムはどのように表示されますか?

<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" />
4

3 に答える 3

17

概念:

 android:gravity="@integer/integer_name"

integers.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <integer
        name="integer_name"
        >1</integer>
</resources>

重力値はすべて整数定数です。それを調べて integers.xml で定義する必要があります。

実装例:

public static final int CENTER ... 定数値: 17 (0x00000011)


in docs ... 次に、res/values/ の integers.xml に追加します。

 <integer
        name="center"
        >17</integer>

そしてあなたのxmlで、次のようにします:

android:gravity="@integer/center"
于 2013-01-28T21:39:09.857 に答える
11

どうぞ。

<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>
于 2015-12-28T13:09:56.187 に答える