Android нарисовать горизонтальную линию между видами
У меня есть My Layout, как показано ниже:
<?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="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
style="@style/behindMenuItemLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="Twitter Feeds"
android:textStyle="bold" />
<ListView
android:id="@+id/list"
android:layout_width="350dp"
android:layout_height="50dp" />
<TextView
android:id="@+id/textView1"
style="@style/behindMenuItemLabel1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="1dp"
android:text="FaceBook Feeds" />
<ListView
android:id="@+id/list1"
android:layout_width="350dp"
android:layout_height="50dp" />
</LinearLayout>
Мое требование состоит в том, чтобы нарисовать горизонтальную линию между TextView
и ListView
Может ли кто-нибудь помочь?
Ответы
Ответ 1
Он будет рисовать серебристо-серый цвет линии между TextView
и ListView
<TextView
android:id="@+id/textView1"
style="@style/behindMenuItemLabel1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="1dp"
android:text="FaceBook Feeds" />
<View
android:layout_width="match_parent"
android:layout_height="2dp"
android:background="#c0c0c0"/>
<ListView
android:id="@+id/list1"
android:layout_width="350dp"
android:layout_height="50dp" />
Ответ 2
Вы должны использовать новый легкий вид Space
для рисования разделителей.
Ваш макет будет загружаться быстрее, если вы используете Space
вместо View
.
Горизонтальный делитель:
<android.support.v4.widget.Space
android:layout_height="1dp"
android:layout_width="match_parent" />
Вертикальный делитель:
<android.support.v4.widget.Space
android:layout_height="match_parent"
android:layout_width="1dp" />
Вы также можете добавить фон:
<android.support.v4.widget.Space
android:layout_height="match_parent"
android:layout_width="1dp"
android:background="?android:attr/listDivider"/>
Пример использования:
....
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="One"/>
<android.support.v4.widget.Space
android:layout_height="match_parent"
android:layout_width="1dp"
android:background="?android:attr/listDivider"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Two"/>
<android.support.v4.widget.Space
android:layout_height="match_parent"
android:layout_width="1dp"
android:background="?android:attr/listDivider"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Three"/>
....
Чтобы использовать Space
, вы должны добавить зависимость в build.gradle:
dependencies {
compile 'com.android.support:support-v4:22.1.+'
}
Документация https://developer.android.com/reference/android/support/v4/widget/Space.html
Ответ 3
добавьте что-то подобное в свой макет между видами, которые вы хотите разделить:
<View
android:id="@+id/SplitLine_hor1"
android:layout_width="match_parent"
android:layout_height= "2dp"
android:background="@color/gray" />
Надеюсь, это поможет:)
Ответ 4
Хорошая идея - создать его один раз и использовать там, где это необходимо. Добавьте это в вашем styles.xml:
<style name="Divider">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">1dp</item>
<item name="android:background">?android:attr/listDivider</item>
</style>
и добавьте это в свой XML-код, где необходим разделитель строк:
<View style="@style/Divider"/>
Первоначально toddles_fp ответил на этот вопрос: Разделитель рисования Android/Разделительная линия в макете?
Ответ 5
Попробуйте
<View
android:layout_width="match_parent"
android:layout_height="2dp"
android:background="?android:attr/listDivider"/>
Ответ 6
<View
android:id="@+id/view"
android:layout_width="match_parent"
android:layout_height="2dp"
android:background="#000000" />
Ответ 7
Вы можете поместить это представление между вашими представлениями, чтобы имитировать строку
<View
android:layout_width="fill_parent"
android:layout_height="2dp"
android:background="#c0c0c0"/>
Ответ 8
В каждом родителе LinearLayout
, для которого вы хотите делителей между компонентами, добавьте android:divider="?android:dividerHorizontal"
или android:divider="?android:dividerVertical
.
Выберите подходящий между ними в соответствии с ориентацией вашего LinearLayout
.
Пока я знаю, этот стиль ресурса добавляется с Android 4.3.
Ответ 9
Попробуйте
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@android:color/darker_gray"/>
Ответ 10
Попробуйте это для меня.
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="@color/tw_composer />
Ответ 11
A Просмотр, цвет фона которого вы можете указать, будет (высота = несколько dpi).
Посмотрел в реальном коде, и вот он:
<LinearLayout
android:id="@+id/lineA"
android:layout_width="fill_parent"
android:layout_height="2dp"
android:background="#000000" />
Обратите внимание, что это может быть любой тип View
.
Ответ 12
Если вы не хотите использовать дополнительный просмотр только для подчеркивания. Добавьте этот стиль в свой textView
.
style="?android:listSeparatorTextViewStyle"
Просто вниз, это добавит дополнительные свойства, такие как
android:textStyle="bold"
android:textAllCaps="true"
который вы можете легко переопределить.
Ответ 13
---- > Простой
<TextView
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#c0c0c0"
android:id="@+id/your_id"
android:layout_marginTop="160dp" />