#android
#Android
Вопрос:
Итак, я видел несколько случаев, когда заполнение было проблемой в пользовательской строке заголовка, но это кажется уникальным, и я хотел бы посмотреть, сможет ли кто-нибудь пролить на это свет.
Вот что у меня есть:
Справа от кнопки настройки есть заполнение, которого не должно быть. Я хочу немного дополнить текст в конце, но, чтобы доказать свою точку зрения, это без набора дополнений. Вот макет пользовательской строки заголовка.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@ id/container"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFF" >
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ImageView
android:id="@ id/titleImage"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:paddingLeft="8dip"
android:paddingTop="8dip"
android:paddingBottom="8dip"
android:src="@drawable/icon" />
<TextView android:id="@ id/customtitlebar"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:text="COMPANY"
android:textSize="20dip"
android:textColor="#205cc7"
android:textStyle="bold"
android:paddingTop="15px" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="right" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:paddingTop="8dip"
android:paddingBottom="8dip"
android:src="@drawable/configure" />
</LinearLayout>
</RelativeLayout>
Я подумал, что, возможно, макет, которому я присвоил фиктивный идентификатор «контейнер», также был отключен, и проблема была за пределами этого макета, но, когда я меняю его фон на красный, он занимает весь экран.
Есть ли у кого-нибудь решение, кроме как скрыть строку заголовка ОС и сделать ее заголовком для каждого макета экрана?
Комментарии:
1. Вам нужно изменить дизайн этого заголовка, поскольку это усложняет способ, которым вы его реализовали сейчас. Вы находитесь в
RelativeLayout
почему бы вам этим не воспользоваться?
Ответ №1:
Попробуйте установить android:layout_alignParentRight=»true» для LinearLayout, который должен быть растянут до правого края RelativeLayout.
Кроме того, я согласен с Октавианом Дамианом в том, что ваше определение слишком сложное, чтобы получить желаемый макет.
Ответ №2:
Этот макет имеет ту же проблему, что и первое изображение. Он использует alignParentRight и упрощает макет.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFF" >
<ImageView
android:id="@ id/titleImage"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:paddingLeft="8dip"
android:paddingTop="8dip"
android:paddingBottom="8dip"
android:src="@drawable/icon" />
<TextView android:id="@ id/customtitlebar"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:paddingLeft="55dip"
android:text="COMPANY"
android:textSize="20dip"
android:textColor="#205cc7"
android:textStyle="bold"
android:paddingTop="15px" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentRight="true"
android:paddingTop="8dip"
android:paddingBottom="8dip"
android:src="@drawable/configure" />
</RelativeLayout>