проблема с 2-мя элементами в макете Android - PullRequest
0 голосов
/ 26 сентября 2011

У меня есть следующий макет для двух вещей -> кнопка «Назад» и представление текста заголовка. Кнопка «Назад» должна быть выровнена по левому краю родительского элемента, тогда как текст должен находиться в центре.Так или иначе, это не работает, и я понятия не имею, почему.Может ли кто-нибудь любезно помочь мне?Спасибо.

            <?xml version="1.0" encoding="utf-8"?>
            <RelativeLayout
                xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:gravity="center_horizontal"
                android:orientation="horizontal">
                <ImageButton
                    android:src="@drawable/backtap"
                    android:background="@null"
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:paddingLeft="5dip"
                    android:paddingRight="5dip"
                    android:id="@+id/back_button3"
                    android:layout_alignParentLeft="true"/>
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:paddingTop="10dip"
                    android:paddingLeft="10dip"
                    android:paddingRight="10dip"
                    android:layout_centerHorizontal="true"
                    android:id="@+id/title_text_view_success3"/>

            </RelativeLayout>

Ответы [ 3 ]

2 голосов
/ 26 сентября 2011

Я изменил его на линейный макет, изменил layout_width + layout_height на wrap_content (вместо match_parent) и изменил гравитацию на layout_gravity.

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal">

    <ImageButton
        android:src="@drawable/backtap"
        android:background="@null"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:paddingLeft="5dip"
        android:paddingRight="5dip"
        android:id="@+id/back_button3"
        android:layout_alignParentLeft="true"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:paddingTop="10dip"
        android:paddingLeft="10dip"
        android:paddingRight="10dip"
        android:layout_centerHorizontal="true"
        android:text="text here"
        android:id="@+id/title_text_view_success3"/>

    </LinearLayout>

Кажется, что работает

Надеюсь, это поможет.

РЕДАКТИРОВАТЬ

После повторного прочтения вашего вопроса это может помочь:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">

    <ImageButton
        android:src="@drawable/backtap"
        android:background="@null"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingLeft="5dip"
        android:paddingRight="5dip"
        android:id="@+id/back_button3"
        android:layout_alignParentLeft="true"/>

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:paddingTop="10dip"
        android:paddingLeft="10dip"
        android:paddingRight="10dip"
        android:gravity="center_horizontal"
        android:text="text here"
        android:id="@+id/title_text_view_success3"/>

</LinearLayout>
1 голос
/ 26 сентября 2011

Попробуйте использовать LinearLayout.Также попробуйте удалить android: gravity из родительского макета.

0 голосов
/ 26 сентября 2011

Спасибо за вашу помощь / усилия.Я учел все ваши хитрости и советы и внес некоторые изменения в мой макет, и теперь он работает хорошо.Еще раз спасибо. :)

            <?xml version="1.0" encoding="utf-8"?>
            <RelativeLayout
                xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:layout_gravity="center_horizontal">
                <ImageButton
                    android:src="@drawable/backtap"
                    android:background="@null"
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:paddingLeft="5dip"
                    android:paddingRight="5dip"
                    android:id="@+id/back_button3"
                    android:layout_alignParentLeft="true"/>
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:paddingTop="10dip"
                    android:paddingLeft="10dip"
                    android:paddingRight="10dip"
                    android:layout_centerHorizontal="true"
                    android:id="@+id/title_text_view_success3"/>

            </RelativeLayout>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...