Jak umieścić poziomą linię dzielnika między tekstami edycji w działaniu


Odpowiedzi:


144

Wypróbuj ten link ... zasada pozioma

To powinno załatwić sprawę.

Poniższy kod to XML.

<View
    android:layout_width="fill_parent"
    android:layout_height="2dip"
    android:background="#FF00FF00" />

dodaj tę linię-> android: layout_above = "@ + id / imageView2" dla niektórych względnych do linii show / view. To działa
gnganapath

Po prostu genialne! Próbowałem różnych metod. To działa najlepiej!
geeky_monster

137

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" />

9
+1 za dostarczenie pełnego przykładu widoku, a nie tylko atrybutów, i dla przykładu ImageView przy użyciu własnego podziału na Androida do rysowania. ImageView wydaje się preferowany, ponieważ używa stylu dostarczonego przez system / motyw.
spaaarky21

Świetne rozwiązanie zapewniające jedno i drugie. Wersja obrazu nie wyświetlała „paska”, więc wybrałem wersję View.
TheIcemanCometh

2
Świetna odpowiedź! Uwaga: prawdopodobnie trzeba dodać, android:scaleType="fitXY"aby rozwiązanie ImageView działało (może jest to potrzebne tylko w nowych wersjach Androida?)
Alberto M

1
Należy wymienić paddingz margin, w przeciwnym razie żadna z tych prac woli.
Ali Bdeir

7

Potrzebujesz tylko jednej linii

...
<View android:id="@+id/primerdivisor"
android:layout_height="2dp"
android:layout_width="fill_parent"
android:background="#ffffff" /> 
...

4

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).


1

Użyj tego… Pokochasz to

 <TextView
    android:layout_width="fill_parent"
    android:layout_height="1px"
    android:text=" "
    android:background="#anycolor"
    android:id="@+id/textView"/>
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.