5

テキストビューとチェックボックスを含む線形レイアウトがあります。

 <LinearLayout style="@style/linearLayoutStyleNoBgColor" >
     <TextView
         android:id="@+id/useFollowupDate"
         style="@style/textFieldStyleType1WithCheckbox" />

     <CheckBox
         android:id="@+id/checkFollowDate"
         style="@style/checkboxStyleType1"/>
 </LinearLayout>

スタイルは次のとおりです。

<style name="linearLayoutStyleNoBgColor">
    <item name="android:layout_width">fill_parent</item>
    <item name="android:layout_height">fill_parent</item>
    <item name="android:layout_margin">5dp</item>
    <item name="android:weightSum">1.0</item>
</style>


<style name="textFieldStyleType1WithCheckbox" parent="@style/textFieldStyleType1">
    <item name="android:layout_height">match_parent</item>
    <item name="android:layout_weight">0.30</item>
    <item name="android:gravity">center_vertical</item>
</style>

<style name="checkboxStyleType1">
    <item name="android:layout_width">0dp</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_weight">0.70</item>
    <item name="android:gravity">right|end</item>
</style>

私が達成しようとしているのは

TextView                |     checkbox
(30%percent screen)     |     (to the right)

しかし、私は今得ています

TextView            | checkbox
(30%percent screen) | (left aligned)

どこが間違っていますか?

4

4 に答える 4

1

適切な場所での使用gravitylayout_gravityプロパティ。

これは役に立つかもしれません:http://thinkandroid.wordpress.com/2010/01/14/how-to-position-views-properly-in-layouts/

于 2013-03-21T11:35:08.407 に答える
0

for に変更android:gravityする必要があると思いますandroid:layout_gravitycheckboxStyleType1

于 2013-03-21T11:33:08.460 に答える
0

Styles.xml

<style name="linearLayoutStyleNoBgColor">
    <item name="android:layout_width">fill_parent</item>
    <item name="android:layout_height">fill_parent</item>
    <item name="android:layout_margin">5dp</item>
    <item name="android:weightSum">1.0</item>
</style>

<style name="textFieldStyleType1WithCheckbox">
    <item name="android:layout_width">0dip</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_weight">1</item>
    <item name="android:gravity">center_vertical</item>
</style>

<style name="checkboxStyleType1">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:gravity">right|end</item>
</style>

activity_main.xml

<LinearLayout
    style="@style/linearLayoutStyleNoBgColor"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <TextView
        android:id="@+id/useFollowupDate"
        style="@style/textFieldStyleType1WithCheckbox"
        android:text="test"
        android:layout_width="wrap_content" />

    <CheckBox
        android:id="@+id/checkFollowDate"
        style="@style/checkboxStyleType1"
        android:gravity="center_vertical"
        android:text="checkbox" />

</LinearLayout>
于 2013-03-21T11:40:22.933 に答える
0

それらを適切に整列させたい場合は、相対レイアウトを使用できます。テキストビューの右側にチェックボックスを作る

<CheckBox
         android:id="@+id/checkFollowDate"
         style="@style/checkboxStyleType1"
android:layout_toRightOf="@id/useFollowupDate"
/>
于 2013-03-21T11:30:37.447 に答える