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