Как установить правильные поля - PullRequest
0 голосов
/ 28 декабря 2010

У меня есть этот код компоновки, который я считаю правильным:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="64dip"
    android:background="@drawable/title_background">

    <ImageView
        android:layout_width="48dip"
        android:layout_height="48dip"
        android:layout_margin="8dip"
        android:src="@drawable/title_icon" />

    <ImageView
        android:layout_width="128dip"
        android:layout_height="32dip"
        android:layout_margin="16dip"
        android:src="@drawable/title_text" />

</LinearLayout>

LinearLayout имеет высоту 64 dip, а первый ImageView имеет высоту 48 dip.Из математики, которую я узнал давным-давно, разница в 8 dip будет идеально соответствовать.Но это не так, поскольку мои ImageViews обрезаны внизу.Это для пользовательского заголовка, и я установил для android: windowTitleSize значение 64dip в теме.

Есть ли на заголовке скрытые отступы?И если да, то каков его размер?

Ответы [ 2 ]

2 голосов
/ 28 декабря 2010

После тестирования по старинке я обнаружил, что «неизвестный» отступ составляет 8 dip. Если это фиксированное значение, я не знаю. Он идеально соответствует моему 48dip ImageView, поэтому с полем 0dip он центрируется. Второму ImageView нужно поле 8dip для центрирования сверху вниз.

Пользовательская документация на заголовок очень редка, так что пока я так получаю.

EDIT:

Фоновое изображение, которое я создал для заголовка заголовка, представляет собой изображение с 9 участками и областью содержимого. Это «неизвестный» отступ. Таким образом, чтобы подвести итог - у пользовательского заголовка заголовка нет скрытого заполнения, но если использовать фоновое изображение из 9 патчей с областью содержимого, заполнение будет тем, что находится за пределами этой области содержимого. По сути, все будет так, как если бы в качестве фона использовалось изображение с 9 патчами ...

0 голосов
/ 28 декабря 2010

Попробуйте это:

<ImageView
        android:layout_width="48dip"
        android:layout_height="48dip"
        android:layout_margin="8dip"
        android:src="@drawable/title_icon"
        android:scaleType="center" 
        android:adjustViewBounds="true"/>

/>

...