Как нарисовать границу в верхней части линейного макета - PullRequest
13 голосов
/ 17 декабря 2009

Я следовал примеру для градиентных делителей: http://www.connorgarvey.com/blog/?p=34

Я попытался нарисовать горизонтальную линию в нижней части моего линейного макета.

Вот мой файл линейного макета:

        <LinearLayout android:id="@+id/test" android:layout_width="fill_parent"
            android:layout_height="wrap_content>

<ImageView android:id="@+id/icon1"
    android:layout_width="32dip"
    android:layout_height="32dip"
/>

И я добавил

<View
android:background="@drawable/black_white_gradient"
android:layout_width="fill_parent"
android:layout_height="1dp"
android:layout_above="@id/test"
/>

Но я не вижу никакой линии в верхней части LinearLayout. И когда я иду в Hierarchy View и вижу его View (для разделителя hort), getWidth () равен 0, а getHeight () равен 1.

Подскажите, пожалуйста, что мне не хватает?

Спасибо.

Ответы [ 4 ]

4 голосов
/ 12 января 2010

С кодом, который вы разместили, это прекрасно. Но тот факт, что размер 1dp может не отображаться. увеличить размер или, как вы хотите, только линия, используйте эту линию по умолчанию отрисовки от Android

android:background="@android:drawable/divider_horizontal_bright" 
// this for white background only

Надеюсь, это поможет вам получить то, что вы хотите

2 голосов
/ 19 декабря 2009

Я думаю, что ориентация может отсутствовать в родительском представлении linearlayout;

<LinearLayout android:orientation="vertical"

Или, если вы используете RelativeLayout вместо LinearLayout, вы можете установить 'layout_alignParentBottom;

<View android:layout_alignParentBottom="true"
1 голос
/ 08 сентября 2011

Черная рамка отображается только в том случае, если размер не менее 2dp. Попробуйте удалить границу и установите сплошной цвет на черный:

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#000" />
</shape>

Чем вы снова можете использовать высоту 1dp.

1 голос
/ 23 января 2011

Это не будет видно, если высота 1dp. Попробуйте 2dp вместо:

<View android:background="@drawable/black_white_gradient" android:layout_width="fill_parent" android:layout_height="2dp" android:layout_above="@id/test" />

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