활동에서 편집 텍스트 사이에 수평 제수 선을 넣는 방법


81

내 앱을 구성하는 활동을 만들고 있는데 구성 창의 섹션을 선으로 나눠야합니다. divider_horizontal_bright이 예제에서 다음을 사용했습니다 .

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

그러나 작동하지 않습니다! 내 안드로이드 폰에서 테스트 할 때 수평선이 표시되지 않습니다. 왜?

Android 2.1을 사용하고 있습니다.

답변:


144

이 링크 시도 .... 수평 규칙

그게 트릭을해야합니다.

아래 코드는 xml입니다.

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

표시 /보기 라인과 관련된 일부에 대해 다음 라인을 추가하십시오. 그것은의 작업
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은 속성뿐 아니라 전체보기 예제를 제공하고 Android 고유의 구분선 드로어 블을 사용하는 ImageView 예제를 제공합니다. ImageView는 시스템 / 테마에서 제공하는 스타일을 사용하기 때문에 선호되는 것 같습니다.
spaaarky21

둘 다 제공하는 훌륭한 솔루션입니다. 이미지 버전에 '바'가 표시되지 않았으므로보기 버전으로 이동했습니다.
TheIcemanCometh

2
좋은 대답입니다! 참고 : 아마도 추가해야 할android:scaleType="fitXY" ImageView 솔루션을 작동 (새 Android 버전에서만 필요합니까?)
Alberto M

1
당신은 교체해야합니다 padding함께margin . 그렇지 않으면 둘 다 작동하지 않습니다.
Ali Bdeir

7

단 한 줄의 경우

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

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에서 사용하십시오 (사용자 정의 및 라이브러리보기-레이아웃으로 가져 오기만하면됩니다).


1

이것을 사용하십시오 ..... 당신은 그것을 좋아할 것입니다

 <TextView
    android:layout_width="fill_parent"
    android:layout_height="1px"
    android:text=" "
    android:background="#anycolor"
    android:id="@+id/textView"/>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.