#android #android-layout #user-interface
#Android #android-макет #пользовательский интерфейс
Вопрос:
В настоящее время я работаю над приложением для викторины. Есть вопрос и четыре возможных варианта ответа. Каждый вариант ответа представлен кнопкой. Четыре кнопки выровнены по прямоугольнику.
Проблема: если заголовок кнопки слишком длинный, положение кнопки немного меняется, и кнопка скользит вниз.
Вопрос: Есть ли решение этой проблемы? Я не хочу, чтобы кнопка меняла свое положение.
XML-код
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background" >
<TextView
android:id="@ id/tv_voc_trainer_question"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="44dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:gravity="center"
android:text="This is my title!"
android:textSize="20sp" />
<LinearLayout
android:id="@ id/ll_voc_trainer_first_answer_row"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@ id/tv_voc_trainer_question"
android:layout_marginTop="40dp"
android:orientation="horizontal" >
<Button
android:id="@ id/bu_first_answer_possibility"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_weight="1"
android:background="@drawable/blue_button"
android:text="Answer 1" />
<Button
android:id="@ id/bu_second_answer_possibility"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_weight="1"
android:background="@drawable/blue_button"
android:text="Answer 2 is very long!" />
</LinearLayout>
<LinearLayout
android:id="@ id/ll_voc_trainer_second_answer_row"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@ id/ll_voc_trainer_first_answer_row"
android:orientation="horizontal" >
<Button
android:id="@ id/bu_third_answer_possibility"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_weight="1"
android:background="@drawable/blue_button"
android:text="Answer 3" />
<Button
android:id="@ id/bu_fourth_answer_possibility"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_weight="1"
android:background="@drawable/blue_button"
android:text="Answer 4" />
</LinearLayout>
<ImageView
android:id="@ id/img_trainer_answer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@ id/ll_voc_trainer_second_answer_row"
android:layout_marginTop="25dp"
android:layout_centerHorizontal="true"
android:contentDescription="answer" />
</RelativeLayout>
Этот снимок экрана иллюстрирует проблему. Кнопка 2 имеет более длинный заголовок, и поэтому его положение автоматически изменяется.
Комментарии:
1. Попробуйте ImageButton вместо Button
2. я думаю, что этот вопрос задавался раньше …. попробуйте выполнить поиск и найти на него ответ..
3. @null, но на моем конце 2-я кнопка не похожа на другие после использования Android: baselineAligned=»false» . с вами все в порядке.
Ответ №1:
Попробуйте использовать это в своем линейном макете:
android:baselineAligned="false"
Ответ №2:
Try this way,hope this will help you to solve your problem.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background"
android:gravity="center"
android:orientation="vertical"
android:padding="10dp">
<TextView
android:id="@ id/tv_voc_trainer_question"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="This is my title!"
android:textSize="20sp" />
<LinearLayout
android:id="@ id/ll_voc_trainer_first_answer_row"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
android:gravity="center">
<Button
android:id="@ id/bu_first_answer_possibility"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/blue_button"
android:gravity="center"
android:text="Answer 1" />
<Button
android:id="@ id/bu_second_answer_possibility"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_weight="1"
android:background="@drawable/blue_button"
android:gravity="center"
android:text="Answer 2 is very long!" />
</LinearLayout>
<LinearLayout
android:id="@ id/ll_voc_trainer_second_answer_row"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="25dp"
android:gravity="center">
<Button
android:id="@ id/bu_third_answer_possibility"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/blue_button"
android:gravity="center"
android:text="Answer 3" />
<Button
android:id="@ id/bu_fourth_answer_possibility"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_weight="1"
android:background="@drawable/blue_button"
android:gravity="center"
android:text="Answer 4" />
</LinearLayout>
<ImageView
android:id="@ id/img_trainer_answer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="25dp"
android:contentDescription="answer" />
</LinearLayout>