Android рисует горизонтальную линию между видами


у меня есть макет, как показано ниже:

<?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

может кто-нибудь помочь?

13 73

13 ответов:

он нарисует серебристо-серую цветную линию между 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="fill_parent"
    android:layout_height="2dp"
    android:background="#c0c0c0"/>

<ListView
    android:id="@+id/list1"
    android:layout_width="350dp"
    android:layout_height="50dp" />

вы должны использовать новый легкий вид 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 вы должны добавить зависимость в построить.gradle:

dependencies {
    compile 'com.android.support:support-v4:22.1.+'
}

документация https://developer.android.com/reference/android/support/v4/widget/Space.html

добавьте что-то вроде этого в макет между представлениями, которые вы хотите разделить:

  <View
       android:id="@+id/SplitLine_hor1"
       android:layout_width="match_parent"
       android:layout_height= "2dp"
       android:background="@color/gray" />

надеюсь, что это помогает :)

попробуй такое

<View
    android:layout_width="match_parent"
    android:layout_height="2dp"
    android:background="?android:attr/listDivider"/>

создать его один раз и использовать его там, где это необходимо, это хорошая идея. Добавьте это в свои стили.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 чертеж разделитель / разделитель линии в макете?

<View
       android:id="@+id/view"
       android:layout_width="match_parent"
       android:layout_height="2dp"
       android:background="#000000" />

в каждом родителе LinearLayout для которого вы хотите разделители между компонентами, добавить android:divider="?android:dividerHorizontal" или android:divider="?android:dividerVertical.

выберите подходящий между ними в соответствии с ориентацией вашего LinearLayout.

пока я не знаю, этот стиль ресурса добавляется из Android 4.3.

вы можете поместить это представление между вашими представлениями, чтобы имитировать линию

<View
  android:layout_width="fill_parent"
  android:layout_height="2dp"
  android:background="#c0c0c0"/>

попробуй такое

<View
    android:layout_width="match_parent"
    android:layout_height="1dp"
    android:background="@android:color/darker_gray"/>

попробуйте это работает для меня

 <View
            android:layout_width="1dp"
            android:layout_height="match_parent"
            android:background="@color/tw_composer />

вид, цвет фона которого вы можете указать, будет делать (высота=несколько точек на дюйм). Посмотрел в реальном коде и вот это:

        <LinearLayout
            android:id="@+id/lineA"
            android:layout_width="fill_parent"
            android:layout_height="2dp"
            android:background="#000000" />

обратите внимание, что это может быть какой-либо View.

----> простой

 <TextView
    android:layout_width="match_parent"
    android:layout_height="1dp"
    android:background="#c0c0c0"
    android:id="@+id/your_id"
    android:layout_marginTop="160dp" />

Если вы не хотите использовать дополнительный вид только подчеркивает. Добавьте этот стиль на свой textView.

style="?android:listSeparatorTextViewStyle"

просто вниз сторона это добавит дополнительные свойства, такие как

android:textStyle="bold"
android:textAllCaps="true"

который вы можете легко переопределить.