Wykonuję czynność, aby skonfigurować moją aplikację i muszę podzielić sekcje okna konfiguracji linią. Użyłem tego:, divider_horizontal_bright
z tego przykładu:
http://android.cryx.li/doku.php?id=know:settings:start
Jednak to nie działa! Kiedy testuję na moim telefonie z Androidem, nie pokazuje poziomej linii. Czemu?
Używam Androida 2.1
android
user-interface
NullPointerException
źródło
źródło
Jeśli to nie zadziałało:
<ImageView android:layout_gravity="center_horizontal" android:paddingTop="10px" android:paddingBottom="5px" android:layout_height="wrap_content" android:layout_width="fill_parent" android:src="@android:drawable/divider_horizontal_bright" />
Wypróbuj ten surowy widok:
<View android:layout_width="fill_parent" android:layout_height="1dip" android:background="#000000" />
źródło
android:scaleType="fitXY"
aby rozwiązanie ImageView działało (może jest to potrzebne tylko w nowych wersjach Androida?)padding
zmargin
, w przeciwnym razie żadna z tych prac woli.Potrzebujesz tylko jednej linii
... <View android:id="@+id/primerdivisor" android:layout_height="2dp" android:layout_width="fill_parent" android:background="#ffffff" /> ...
źródło
Co powiesz na zdefiniowanie własnego poglądu? Użyłem poniższej klasy, używając LinearLayout wokół widoku, którego kolor tła jest ustawiony. To pozwala mi wstępnie zdefiniować dla niego parametry układu. Jeśli nie potrzebujesz tego, po prostu rozszerz Widok i zamiast tego ustaw kolor tła.
public class HorizontalRulerView extends LinearLayout { static final int COLOR = Color.DKGRAY; static final int HEIGHT = 2; static final int VERTICAL_MARGIN = 10; static final int HORIZONTAL_MARGIN = 5; static final int TOP_MARGIN = VERTICAL_MARGIN; static final int BOTTOM_MARGIN = VERTICAL_MARGIN; static final int LEFT_MARGIN = HORIZONTAL_MARGIN; static final int RIGHT_MARGIN = HORIZONTAL_MARGIN; public HorizontalRulerView(Context context) { this(context, null); } public HorizontalRulerView(Context context, AttributeSet attrs) { this(context, attrs, android.R.attr.textViewStyle); } public HorizontalRulerView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); setOrientation(VERTICAL); View v = new View(context); v.setBackgroundColor(COLOR); LayoutParams lp = new LayoutParams( LayoutParams.MATCH_PARENT, HEIGHT ); lp.topMargin = TOP_MARGIN; lp.bottomMargin = BOTTOM_MARGIN; lp.leftMargin = LEFT_MARGIN; lp.rightMargin = RIGHT_MARGIN; addView(v, lp); } }
Używaj go programowo lub w Eclipse (widoki niestandardowe i biblioteki - po prostu przeciągnij je do swojego układu).
źródło
Użyj tego… Pokochasz to
<TextView android:layout_width="fill_parent" android:layout_height="1px" android:text=" " android:background="#anycolor" android:id="@+id/textView"/>
źródło