Eu tenho Meu Layout como abaixo:
<?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>
Meu requisito é desenhar uma linha horizontal entre TextView
eListView
Alguém poderia ajudar?
Respostas:
Irá desenhar uma linha de cor cinza prateado entre
TextView
&ListView
fonte
Você deve usar a nova vista leve
Space
para desenhar divisórias. Seu layout carregará mais rápido se você usar emSpace
vez deView
.Divisória horizontal:
Divisória vertical:
Você também pode adicionar um plano de fundo:
Exemplo de uso:
Para usar,
Space
você deve adicionar a dependência em seu build.gradle :Documentação https://developer.android.com/reference/android/support/v4/widget/Space.html
fonte
Space
vai ser decepcionante porqueSpace
não desenha nada (nem mesmo um fundo). Sua única função é ocupar espaço na tela. A solução é usar umView
elemento vanilla . Em seguida, o plano de fundo será desenhado como desejado. (Você também pode evitar a dependência da biblioteca de suporte se não for necessário de outra forma.)Space
herda deView
e, portanto, herda todos os atributos definidos porView
. (Da mesma forma,LinearLayout
herda otextAlignment
atributo mesmo que ele próprio não exiba nenhum texto.) Sinta-se à vontade para testar você mesmo (ou apenas olhe o código-fonte) e você verá que aSpace
ignora todos os atributos relacionados ao desenho.Space
não desenha um fundo, é transparente.adicione algo assim em seu layout entre as visualizações que deseja separar:
Espero que ajude :)
fonte
Criá-lo uma vez e usá-lo sempre que necessário é uma boa ideia. Adicione isto em seu styles.xml:
e adicione isso ao seu código xml, onde um divisor de linha é necessário:
Originalmente respondido por toddles_fp a esta pergunta: Android Drawing Separator / Divider Line in Layout?
fonte
Tente isto
fonte
fonte
Você pode colocar essa visão entre as suas para imitar a linha
fonte
Tente isso funciona para mim
fonte
Em cada pai
LinearLayout
para o qual deseja divisores entre os componentes, adicioneandroid:divider="?android:dividerHorizontal"
ouandroid:divider="?android:dividerVertical
.Escolha apropriado entre eles de acordo com a orientação de seu
LinearLayout
.Até que eu saiba, esse estilo de recurso foi adicionado do Android 4.3.
fonte
Tente isto
fonte
Uma Visualização cuja cor de fundo você pode especificar faria (altura = alguns dpi). Olhado em código real e aqui está:
Observe que pode ser qualquer tipo de
View
.fonte
----> Simples
fonte
Se você não quiser usar uma visualização extra apenas para sublinhados. Adicione este estilo ao seu
textView
.A desvantagem é que adicionará propriedades extras, como
que você pode facilmente substituir.
fonte