2014-01-23 4 views
-1

У меня проблема с позиционированием LinearLayout. См. Изображение проблемы. Если я использую wrap_content в указанном поле, он не центрирован. Если я использую match_parent, он центрирован, но компоненты расположены слишком далеко друг от друга. Как «обернуть» содержимое, но по центру горизонтально? (По вертикали не обсуждается здесь)Позиция a LinearLayout (горизонтальный центр)

enter image description here

<LinearLayout 
android:layout_width="wrap_content" !!! (or match_parent) 
android:layout_height="wrap_content" 
android:layout_margin="25dip" 
android:orientation="horizontal" > 

<LinearLayout 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:layout_weight="1" 
    android:gravity="center" 
    android:orientation="horizontal" > 

    <ImageButton 
     android:id="@+id/game1CheckButton" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:layout_margin="4dp" 
     android:background="@null" 
     android:contentDescription="@string/checkbutton" 
     android:gravity="center" 
     android:onClick="clickCheck" 
     android:src="@drawable/checkbutton" /> 
</LinearLayout> 

<TextView 
    android:id="@+id/game1Step" 
    android:layout_width="200dip" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:contentDescription="@string/game1step1" 
    android:gravity="center" 
    android:textColor="#FFFFFF" 
    android:textSize="50sp" 
    android:textStyle="bold" /> 

<LinearLayout 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:layout_weight="1" 
    android:gravity="center" 
    android:orientation="horizontal" > 

    <ImageButton 
     android:id="@+id/game1NextButton" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:layout_margin="4dp" 
     android:background="@null" 
     android:clickable="false" 
     android:contentDescription="@string/nextbutton" 
     android:enabled="false" 
     android:gravity="center" 
     android:onClick="clickNext" 
     android:src="@drawable/nextbutton" /> 
</LinearLayout> 

ответ

3

Попробуйте использовать android:layout_width="wrap_content" и android:layout_gravity="center_horizontal"

1

Насколько я понимаю, вы хотите, 3 obects все расположены в горизонтальном центре , независимо от вертикальной позиции.

Итак, я хотел бы сделать, что, как это:

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_margin="25dip" 
    > 
    <!-- The center object --> 
    <TextView 
     android:id="@+id/game1Step" 
     android:layout_width="200dip" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_gravity="center" 
     android:contentDescription="@string/game1step1" 
     android:gravity="center" 
     android:textColor="#FFFFFF" 
     android:textSize="50sp" 
     android:textStyle="bold" 
    /> 
    <!-- The left object --> 
    <ImageButton 
     android:id="@+id/game1CheckButton" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_toLeftOf="@id/game1Step" 
     android:layout_gravity="center" 
     android:layout_margin="4dp" 
     android:background="@null" 
     android:contentDescription="@string/checkbutton" 
     android:gravity="center" 
     android:onClick="clickCheck" 
     android:src="@drawable/checkbutton" 
    /> 
    <!-- The right object --> 
    <ImageButton 
     android:id="@+id/game1NextButton" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_toRightOf="@id/game1Step" 
     android:layout_gravity="center" 
     android:layout_margin="4dp" 
     android:background="@null" 
     android:clickable="false" 
     android:contentDescription="@string/nextbutton" 
     android:enabled="false" 
     android:gravity="center" 
     android:onClick="clickNext" 
     android:src="@drawable/nextbutton" 
    /> 
</RelativeLayout> 
Смежные вопросы