У меня есть мой макет, как показано ниже:
<?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
Может ли кто-нибудь помочь?
Ответы:
Он будет рисовать серебристо-серую линию между
TextView
&ListView
источник
Вы должны использовать новый облегченный вид
Space
для рисования разделителей. Ваш макет будет загружаться быстрее, если вы будете использоватьSpace
вместоView
.Горизонтальный разделитель:
Вертикальный разделитель:
Вы также можете добавить фон:
Пример использования:
Чтобы использовать,
Space
вы должны добавить зависимость в свой build.gradle :Документация https://developer.android.com/reference/android/support/v4/widget/Space.html
источник
Space
будет разочаровывающим, потому чтоSpace
ничего не рисует (даже фон). Его единственная задача - занимать место на экране. Решение - использоватьView
вместо этого ванильный элемент. Тогда фон будет прорисован по желанию. (Вы также можете избежать зависимости от библиотеки поддержки, если она не нужна)Space
наследуется отView
и, следовательно, наследует все атрибуты, определенные вView
. (Точно так жеLinearLayout
наследуетtextAlignment
атрибут, даже если сам по себе не отображает никакого текста.) Не стесняйтесь проверить это на себе (или просто посмотрите исходный код), и вы обнаружите, что aSpace
игнорирует все атрибуты, связанные с рисованием.Space
фон не рисует, он прозрачный.добавьте что-то подобное в свой макет между видами, которые вы хотите разделить:
Надеюсь, поможет :)
источник
Создать его один раз и использовать везде, где это необходимо, - хорошая идея. Добавьте это в свой файл styles.xml:
и добавьте это в свой xml-код, где необходим разделитель строк:
Первоначально toddles_fp ответил на этот вопрос: Android Drawing Separator / Divider Line in Layout?
источник
Попробуй это
источник
источник
Вы можете поместить этот вид между видами, чтобы имитировать линию
источник
Попробуйте, это работает для меня
источник
В каждом родительском элементе,
LinearLayout
для которого вы хотите разделители между компонентами, добавьтеandroid:divider="?android:dividerHorizontal"
илиandroid:divider="?android:dividerVertical
.Выберите подходящий вариант согласно вашей ориентации
LinearLayout
.Насколько я знаю, этот стиль ресурса добавлен из Android 4.3.
источник
Попробуй это
источник
Подойдет View, цвет фона которого вы можете указать (высота = несколько точек на дюйм). Посмотрел в реальном коде и вот он:
Обратите внимание, что это может быть любой тип файла
View
.источник
----> Простой
источник
Если вы не хотите использовать дополнительный вид только для подчеркивания. Добавьте этот стиль в свой
textView
.С другой стороны, он добавит дополнительные свойства, такие как
которые вы можете легко переопределить.
источник