Mam mój układ jak poniżej:
<?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>
Moim wymaganiem jest narysowanie poziomej linii między TextView
aListView
Czy ktoś mógłby pomóc?
android
android-layout
listview
android-intent
Strunowy
źródło
źródło
Odpowiedzi:
Będzie rysować Srebrnoszarą Linię pomiędzy
TextView
&ListView
źródło
Do
Space
rysowania separatorów należy używać nowego, lekkiego widoku . Twój układ będzie ładował się szybciej, jeśli użyjeszSpace
zamiastView
.Przegroda pozioma:
Przegroda pionowa:
Możesz również dodać tło:
Przykład użycia:
Aby z niego skorzystać
Space
, należy dodać zależność w pliku build.gradle :Dokumentacja https://developer.android.com/reference/android/support/v4/widget/Space.html
źródło
Space
będzie rozczarowujące, ponieważSpace
nic nie rysuje (nawet tła). Jedynym zadaniem jest zajęcie miejsca na ekranie. Rozwiązaniem jest użycieView
zamiast tego elementu waniliowego . Następnie tło zostanie narysowane zgodnie z życzeniem. (Możesz także uniknąć zależności biblioteki wsparcia, jeśli nie jest to w inny sposób potrzebne.)Space
dziedziczy po,View
a zatem dziedziczy wszystkie atrybuty zdefiniowane przezView
. (Podobnie,LinearLayout
dziedziczytextAlignment
atrybut, nawet jeśli sam nie wyświetla żadnego tekstu.) Możesz to przetestować samodzielnie (lub po prostu spojrzeć na kod źródłowy), a zobaczysz, że aSpace
ignoruje wszystkie atrybuty związane z rysowaniem.Space
nie rysuje tła, jest przezroczyste.dodaj coś takiego w swoim układzie między widokami, które chcesz rozdzielić:
Mam nadzieję, że to pomoże :)
źródło
Stworzenie go raz i używanie go w razie potrzeby to dobry pomysł. Dodaj to w swoim styles.xml:
i dodaj to do swojego kodu xml, gdzie potrzebny jest separator linii:
Oryginalna odpowiedź od toddles_fp na to pytanie: Android Drawing Separator / Divider Line in Layout?
źródło
Spróbuj tego
źródło
źródło
Możesz umieścić ten pogląd między swoimi poglądami, aby naśladować linię
źródło
Spróbuj, to działa dla mnie
źródło
W każdym rodzicu,
LinearLayout
dla którego chcesz wstawić separatory między komponentami, dodajandroid:divider="?android:dividerHorizontal"
lubandroid:divider="?android:dividerVertical
.Wybierz odpowiednie między nimi zgodnie z orientacją
LinearLayout
.Dopóki nie wiem, ten styl zasobów jest dodawany z Androida 4.3.
źródło
Spróbuj tego
źródło
Widok, którego kolor tła możesz określić (wysokość = kilka dpi). Spojrzałem w prawdziwy kod i oto jest:
Zauważ, że może to być dowolny rodzaj
View
.źródło
----> Prosty
źródło
Jeśli nie chcesz używać dodatkowego widoku tylko do podkreślenia. Dodaj ten styl do swojego
textView
.Wadą jest to, że doda dodatkowe właściwości, takie jak
które możesz łatwo zmienić.
źródło