Як розмістити горизонтальний розділовий розділ між текстом редагування в діяльності


81

Я займаюся налаштуванням мого додатка, і я повинен розділити розділи мого вікна конфігурації рядком. Я використав це:, divider_horizontal_brightз цього прикладу:

http://android.cryx.li/doku.php?id=know:settings:start

Однак це не працює! Коли я тестую на своєму телефоні Android, він не відображає горизонтальну лінію. Чому?

Я використовую Android 2.1

Відповіді:


144

Спробуйте це посилання .... горизонтальне правило

Це повинно зробити трюк.

Код нижче - xml.

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

додати цей рядок-> android: layout_above = "@ + id / imageView2" для деякого відносно рядка шоу / перегляду. Це працює
gnganapath

Просто блискуче! Випробував різні методи. Це найкраще працює!
geeky_monster

137

Якщо це не спрацювало:

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

Спробуйте цей сирий перегляд:

<View
    android:layout_width="fill_parent"
    android:layout_height="1dip"
    android:background="#000000" />

9
+1 для надання повного прикладу View, а не лише атрибутів, а для прикладу ImageView за допомогою власного роздільника Android, який можна малювати. ImageView здається кращим, оскільки він використовує стиль, передбачений системою / темою.
spaaarky21

Чудове рішення для забезпечення обох. Версія зображення не відображала "смужку", тому я вибрав версію View.
TheIcemanЗустрічається

2
Чудова відповідь! Тільки примітка: мабуть, потрібно додати, android:scaleType="fitXY"щоб рішення ImageView працювало (можливо, це потрібно лише в нових версіях Android?)
Альберто М,

1
Вам слід замінити paddingна margin, інакше жодне з них не буде працювати.
Алі Бдейр


4

Як щодо визначення власного погляду? Я використав клас нижче, використовуючи LinearLayout навколо подання, колір тла якого встановлений. Це дозволяє мені попередньо визначити параметри макета для нього. Якщо вам це не потрібно, просто розширіть View і встановіть натомість колір тла.

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);
    }

}

Використовуйте його програмно або в Eclipse (Custom & Library Views - просто втягніть його у свій макет).


1

Використовуйте це ..... Вам сподобається

 <TextView
    android:layout_width="fill_parent"
    android:layout_height="1px"
    android:text=" "
    android:background="#anycolor"
    android:id="@+id/textView"/>
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.