Android 텍스트 뷰 주위에 테두리를 어떻게 배치합니까?


답변:


1273

뷰의 배경으로 도형 드로어 블 (직사각형)을 설정할 수 있습니다.

<TextView android:text="Some text" android:background="@drawable/back"/>

직사각형 drawable back.xml (res / drawable 폴더에 넣습니다) :

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
   <solid android:color="@android:color/white" />
   <stroke android:width="1dip" android:color="#4fa5d5"/>
</shape>

@android:color/transparent단색으로 배경을 투명하게 만들 수 있습니다 . 패딩을 사용하여 텍스트를 테두리와 분리 할 수도 있습니다. 자세한 내용은 다음을 참조 하십시오 : http://developer.android.com/guide/topics/resources/drawable-resource.html


83
상단 테두리 만 원하면 어떻게합니까?
happyhardik

19
@whyoz His 방법은 계층 구조를보기 위해 불필요한 복잡성을 추가합니다. 그의 방법을 사용하려면 두 개의 추가보기 (레이아웃 컨테이너와 테두리보기)가 필요합니다. 따라서 많은 뷰가있는 경우 테두리를 추가해야하는 경우 뷰 트리를 관리 할 수 ​​없게됩니다.
Konstantin Burov 2016 년

5
@whyoz 아직이 방법은 스타일을 통해 테마를 적용 할 수 있지만 YongGu의 방법은이 방법으로 사용할 수 없습니다.
Konstantin Burov

12
의 경우 에만 위의 경계 , 볼 이 질문을 .
Pang

7
이 도구 http://shapes.softartstudio.com 을 사용하여 드로어 블을 생성 할 수 있습니다 .
Arda Basoglu

186

프로그래밍 방식이 아닌 몇 가지 방법을 요약하겠습니다.

도형 드로어 블 사용

다음을 드로어 블 폴더에 XML 파일로 저장하십시오 (예 : my_border.xml).

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <!-- View background color -->
    <solid
        android:color="@color/background_color" >
    </solid>

    <!-- View border color and width -->
    <stroke
        android:width="1dp"
        android:color="@color/border_color" >
    </stroke>

    <!-- The radius makes the corners rounded -->
    <corners
        android:radius="2dp"   >
    </corners>

</shape>

그런 다음 TextView의 배경으로 설정하십시오.

<TextView
    android:id="@+id/textview1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/my_border" />

추가 도움 :

9 패치 사용

9 패치는 확장 가능한 배경 이미지입니다. 테두리가있는 이미지를 만들면 TextView에 테두리가 생깁니다. 이미지를 만든 다음 TextView의 배경으로 설정하기 만하면됩니다.

<TextView
    android:id="@+id/textview1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/my_ninepatch_image" />

다음은 9 패치 이미지를 만드는 방법을 보여주는 링크입니다.

상단 테두리 만 원하면 어떻게합니까?

레이어리스트 사용

레이어 목록을 사용하여 두 개의 사각형을 서로 쌓을 수 있습니다. 두 번째 사각형을 첫 번째 사각형보다 조금 작게 만들면 테두리 효과를 만들 수 있습니다. 첫 번째 (아래) 사각형은 테두리 색이고 두 번째 사각형은 배경색입니다.

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- Lower rectangle (border color) -->
    <item>
        <shape android:shape="rectangle">
            <solid android:color="@color/border_color" />
        </shape>
    </item>

    <!-- Upper rectangle (background color) -->
    <item android:top="2dp">
        <shape android:shape="rectangle">
            <solid android:color="@color/background_color" />
        </shape>
    </item>
</layer-list>

설정 android:top="2dp"하면 상단이 2dp 씩 오프셋됩니다 (더 작게 만듭니다). 이렇게하면 첫 번째 (낮은) 사각형이 표시되어 테두리 효과가 나타납니다. shapeDrawable이 위에서했던 것과 같은 방식으로 TextView 배경에 적용 할 수 있습니다 .

레이어 목록에 대한 추가 링크는 다음과 같습니다.

9 패치 사용

단일 테두리로 9 패치 이미지를 만들 수 있습니다. 다른 모든 것은 위에서 설명한 것과 같습니다.

뷰 사용

이것은 일종의 속임수이지만 두 개의보기 사이에 구분 기호를 추가하거나 단일 TextView에 테두리를 추가 해야하는 경우 효과적입니다.

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textview1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <!-- This adds a border between the TextViews -->
    <View
        android:layout_width="match_parent"
        android:layout_height="2dp"
        android:background="@android:color/black" />

    <TextView
        android:id="@+id/textview2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

</LinearLayout>

더 많은 링크는 다음과 같습니다.


24
Jeez man, a border: 1px solid #999;이렇게 복잡 해서는 안됩니다 .
Achshar

그림자와 잔물결 효과가있는 textview의 테두리를 원한다면 어떻게해야합니까?
Akash Dubey

@AkashDubey, 죄송합니다. 이전에는하지 않았습니다. 나는 당신이 각각을 개별적으로 시도한 다음 결합하는 것이 좋습니다. 문제가 발생하면 스택 오버플로에 대해 새로운 질문을하십시오.
Suragch

49

간단한 방법은 TextView에 대한보기를 추가하는 것입니다. 하단 경계선의 예 :

<LinearLayout android:orientation="vertical"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent">
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:layout_marginLeft="10dp"
        android:text="@string/title"
        android:id="@+id/title_label"
        android:gravity="center_vertical"/>
    <View
        android:layout_width="fill_parent"
        android:layout_height="0.2dp"
        android:id="@+id/separator"
        android:visibility="visible"
        android:background="@android:color/darker_gray"/>

</LinearLayout>

다른 방향 경계의 경우 구분 기호보기의 위치를 ​​조정하십시오.


3
내 경험상 오래된 장치 에서이 솔루션은 앱 성능에 조용한 가시적 영향을 미칩니다.
Roberto Lombardini

43
이것은 전망 인플레이션 관점에서 끔찍한 해결책입니다. 3 개의 새 뷰 요소를 작성하고 뷰 계층 깊이에서 한 단계 더 추가
philipp

필립은 전망 인플레이션 관점으로 인해 최악의 해결책을 제시했다. textView에 특정 xml 태그가 있다는 것을 알고 있습니까? TextView를 왼쪽 / 오른쪽 / 위쪽 / 아래쪽으로 그릴 그림을 정의하십시오. android : drawable ****
Mathias Seguy Android2ee

32

textview를 확장하고 수동으로 테두리를 그려서이 문제를 해결했습니다. 테두리가 점선 또는 점선인지 선택할 수 있도록 추가했습니다.

public class BorderedTextView extends TextView {
        private Paint paint = new Paint();
        public static final int BORDER_TOP = 0x00000001;
        public static final int BORDER_RIGHT = 0x00000002;
        public static final int BORDER_BOTTOM = 0x00000004;
        public static final int BORDER_LEFT = 0x00000008;

        private Border[] borders;

        public BorderedTextView(Context context, AttributeSet attrs, int defStyle) {
            super(context, attrs, defStyle);
            init();
        }

        public BorderedTextView(Context context, AttributeSet attrs) {
            super(context, attrs);
            init();
        }

        public BorderedTextView(Context context) {
            super(context);
            init();
        }
        private void init(){
            paint.setStyle(Paint.Style.STROKE);
            paint.setColor(Color.BLACK);
            paint.setStrokeWidth(4);        
        }
        @Override
        protected void onDraw(Canvas canvas) {
            super.onDraw(canvas);
            if(borders == null) return;

            for(Border border : borders){
                paint.setColor(border.getColor());
                paint.setStrokeWidth(border.getWidth());

                if(border.getStyle() == BORDER_TOP){
                    canvas.drawLine(0, 0, getWidth(), 0, paint);                
                } else
                if(border.getStyle() == BORDER_RIGHT){
                    canvas.drawLine(getWidth(), 0, getWidth(), getHeight(), paint);
                } else
                if(border.getStyle() == BORDER_BOTTOM){
                    canvas.drawLine(0, getHeight(), getWidth(), getHeight(), paint);
                } else
                if(border.getStyle() == BORDER_LEFT){
                    canvas.drawLine(0, 0, 0, getHeight(), paint);
                }
            }
        }

        public Border[] getBorders() {
            return borders;
        }

        public void setBorders(Border[] borders) {
            this.borders = borders;
        }
}

그리고 국경 계급 :

public class Border {
    private int orientation;
    private int width;
    private int color = Color.BLACK;
    private int style;
    public int getWidth() {
        return width;
    }
    public void setWidth(int width) {
        this.width = width;
    }
    public int getColor() {
        return color;
    }
    public void setColor(int color) {
        this.color = color;
    }
    public int getStyle() {
        return style;
    }
    public void setStyle(int style) {
        this.style = style;
    }
    public int getOrientation() {
        return orientation;
    }
    public void setOrientation(int orientation) {
        this.orientation = orientation;
    }
    public Border(int Style) {
        this.style = Style;
    }
}

희망이 누군가에게 도움이되기를 바랍니다 :)


테두리를 초기화하는 방법?
zionpi

이 정의 된 값의 절반 크기로 테두리를 그리는 코드에서 볼 수 있듯이 그것은 제대로 작동하지 않을 수 있습니다
ucMedia

14

방금 비슷한 대답을 보았습니다. 스트로크와 다음 재정의로 수행 할 수 있습니다.

@Override
public void draw(Canvas canvas, MapView mapView, boolean shadow) {

Paint strokePaint = new Paint();
strokePaint.setARGB(255, 0, 0, 0);
strokePaint.setTextAlign(Paint.Align.CENTER);
strokePaint.setTextSize(16);
strokePaint.setTypeface(Typeface.DEFAULT_BOLD);
strokePaint.setStyle(Paint.Style.STROKE);
strokePaint.setStrokeWidth(2);

Paint textPaint = new Paint();
textPaint.setARGB(255, 255, 255, 255);
textPaint.setTextAlign(Paint.Align.CENTER);
textPaint.setTextSize(16);
textPaint.setTypeface(Typeface.DEFAULT_BOLD);

canvas.drawText("Some Text", 100, 100, strokePaint);
canvas.drawText("Some Text", 100, 100, textPaint);

super.draw(canvas, mapView, shadow); 
}

큰! 내 유일한 관심사는 전화와 에뮬레이터에서 drawRoundRect를 사용할 때 획이 모퉁이에 있다는 것입니다.
erdomester

1
@erdomester 아마도 Paint StrokePaint = new Paint (Paint.ANTI_ALIAS_FLAG); 문제 "코너에서 추한"해결할
P-RAD

14

두 가지 방법으로 테두리를 설정할 수 있습니다. 하나는 드로어 블이고 다른 하나는 프로그래밍 방식입니다.

Drawable 사용

<shape>
    <solid android:color="@color/txt_white"/>
    <stroke android:width="1dip" android:color="@color/border_gray"/>
    <corners android:bottomLeftRadius="10dp"
             android:bottomRightRadius="0dp"
             android:topLeftRadius="10dp"
             android:topRightRadius="0dp"/>
    <padding android:bottom="0dip"
             android:left="0dip"
             android:right="0dip"
             android:top="0dip"/>
</shape>

프로그래밍 방식


public static GradientDrawable backgroundWithoutBorder(int color) {

    GradientDrawable gdDefault = new GradientDrawable();
    gdDefault.setColor(color);
    gdDefault.setCornerRadii(new float[] { radius, radius, 0, 0, 0, 0,
                                           radius, radius });
    return gdDefault;
}

그 모양 XML은 textView와 어떤 관련이 있습니까?
Neo42

14

내가 찾은 (그리고 실제로 작동하는) 가장 간단한 솔루션 :

<TextView
    ...
    android:background="@android:drawable/editbox_background" />

한 곳에서 모든 텍스트보기에 이것을 적용 할 수 있습니까?
Ian Warburton

퀵에 좋습니다. 그러나 실행중인 장치의 버전에 따라 이것은 매우 드문 영향을 줄 수 있습니다. 구글은 EditTexts 어떻게 보이는지 계속 변화하기 때문이다 (당신이 방식으로 계속 해!)
스콧 빅스

11

TextView 주위에 테두리를 배치하는 더 좋은 방법을 찾았습니다.

배경에 9 패치 이미지를 사용하십시오. SDK는 9 패치 이미지를 만드는 도구와 함께 제공되며 코딩 이 전혀 필요하지 않습니다 .

링크는 http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch 입니다.


2
유용합니다.하지만이 방법이 더 낫습니까?
집합

2
허용 대답 말한대로 모양을 9 패치보다 더 사용하여, XML 파일은 그래픽 자산보다 더 유연
Jose_GD

물론 프로그래밍 방식으로 원하는 그래픽을 만드는 것으로 제한하려면 더 유연합니다.
Nick

2
모양 접근 방식은 쓸모가 없습니다. 아마도 투명하거나 설정하지 않아도 태그 "솔리드"가 항상 처리되는 유일한 경험 일 것입니다. 경계를 만들려면 경계가 아니라 안쪽과 색이 다른 경계선이있는 사각형 투명하지 않습니다. 항상 색을 방해합니다. 또한 다른 클래스에서 상속받은 클래스는 상속되기 때문에 모든 기능을 가져야합니다. 왜 기초적인 OO 디자인 지침이 안드로이드에 의해 깨지는 지 이해할 수 없습니다. 예를 들어 버튼에서 상속했습니다. 모든 기능이 사라졌습니다. 왜 ?
icbytes

2
@Jeremie 눈에 띄게 느려? 어떻게 관찰합니까?
IgorGanapolsky

11

코드에 다음과 같은 것을 추가 할 수 있습니다.

<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="rectangle" >
    <solid android:color="#ffffff" />
    <stroke android:width="1dip" android:color="#4fa5d5"/>
</shape>

왜 뇌졸중이 필요한가요?
IgorGanapolsky

@ IgorGanapolsky, 뇌졸중은 실제 테두리를 만들?
Tash Pemhiwa

10

둥근 모서리를 만들려면 아래 링크를 확인하십시오 http://androidcookbook.com/Recipe.seam?recipeId=2318

Android 프로젝트의 해상도에서 드로어 블 폴더는 비트 맵 (PNG 또는 JPG 파일)으로 제한되지 않지만 XML 파일에 정의 된 모양을 보유 할 수도 있습니다.

그런 다음이 모양을 프로젝트에서 재사용 할 수 있습니다. 모양은 레이아웃 주위에 테두리를 배치하는 데 사용할 수 있습니다. 이 예는 모서리가 구부러진 사각형 테두리를 보여줍니다. drawbable 폴더에 customborder.xml이라는 새 파일이 작성됩니다 (Eclipse에서는 파일 메뉴를 사용하고 파일 이름에서 드로어 블 폴더를 선택한 상태에서 새로 작성을 선택한 다음 파일을 선택하고 완료를 클릭하십시오).

테두리 모양을 정의하는 XML이 입력됩니다.

<?xml version="1.0" encoding="UTF-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
    <corners android:radius="20dp"/>
    <padding android:left="10dp" android:right="10dp" android:top="10dp" android:bottom="10dp"/>
    <solid android:color="#CCCCCC"/>
</shape>

이 속성 android:shape은 사각형으로 설정됩니다 (모양 파일은 타원형, 선 및 링도 지원합니다). 사각형이 기본값이므로이 속성이 정의중인 사각형 인 경우 생략 될 수 있습니다. 모양 파일에 대한 자세한 내용 은 http://developer.android.com/guide/topics/resources/drawable-resource.html#Shape 에서 모양에 대한 Android 설명서를 참조하십시오 .

요소 모서리는 사각형 모서리를 둥글게 설정합니다. 각 모서리에 다른 반경을 설정할 수 있습니다 (Android 참조 참조).

패딩 속성은 내용이 테두리와 겹치지 않도록 셰이프가 적용된보기의 내용을 이동하는 데 사용됩니다.

여기의 테두리 색은 밝은 회색 (CCCCCC 16 진 RGB 값)으로 설정됩니다.

모양은 그라디언트도 지원하지만 여기서는 사용되지 않습니다. 그래디언트가 어떻게 정의되는지 보려면 Android 리소스를 참조하십시오. 를 사용하여 모양이 레이아웃에 적용됩니다 android:background="@drawable/customborder".

레이아웃 내에서 다른보기를 정상적으로 추가 할 수 있습니다. 이 예제에서는 단일 TextView가 추가되었고 텍스트는 흰색입니다 (FFFFFF 16 진 RGB). 배경을 파란색으로 설정하고 밝기를 줄이기 위해 약간의 투명도를 설정합니다 (A00000FF 16 진 알파 RGB 값). 마지막으로 레이아웃은 적은 양의 패딩으로 다른 레이아웃에 배치하여 화면 가장자리에서 오프셋됩니다. 전체 레이아웃 파일은 다음과 같습니다.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:padding="5dp">
    <LinearLayout android:orientation="vertical"
                  android:layout_width="fill_parent"
                  android:layout_height="fill_parent"
                  android:background="@drawable/customborder">
        <TextView android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:text="Text View"
                android:textSize="20dp"
                android:textColor="#FFFFFF"
                android:gravity="center_horizontal"
                android:background="#A00000FF" />
    </LinearLayout>
</LinearLayout>

링크는 미래의 특정 시점에서 끊어지는 경향이 있으므로 링크 만 답변을 사용하지 않는 것이 좋습니다. 링크가없는 경우에도 정보를 계속 사용할 수 있도록 링크의 관련 부분을이 답변으로 가져옵니다.
Andy

8

나는 그것을 매우 간단하게 할 수있는 방법을 가지고 있으며 그것을 공유하고 싶습니다.

TextView의 제곱을 원할 때 LinearLayout에 넣습니다. LinearLayout의 배경색을 설정하고 TextView에 여백을 추가합니다. 결과는 TextView를 제곱하는 것과 같습니다.


2

내 경우에는 작동하지 않기 때문에 Konstantin Burov 답변 변경 :

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <solid android:color="@android:color/white" />
            <stroke android:width="2dip" android:color="#4fa5d5"/>
            <corners android:radius="7dp"/>
        </shape>
    </item>
</selector>

compileSdkVersion 26 (Android 8.0), minSdkVersion 21 (Android 5.0), targetSdkVersion 26, 구현 'com.android.support:appcompat-v7:26.1.0', gradle : 4.1


2

당신은 당신의 텍스트보기에 대한 사용자 정의 배경을 만들 수 있습니다. 단계 1. 프로젝트로갑니다. 2. 리소스로 이동하여 마우스 오른쪽 버튼을 클릭하여 드로어 블을 만듭니다. 3. New-> Drawable Resource File을 클릭하십시오. 4. 파일 이름을 지정하십시오. 5. 파일에 다음 코드를 붙여 넣으십시오.

<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke android:width="1dp" android:color="@color/colorBlack" />
<padding android:left="1dp"
    android:top="1dp"
    android:right="1dp"
    android:bottom="1dp" />
<corners android:radius="6dp" />
<solid android:color="#ffffffff" />

  1. backgroud로 사용하려는 텍스트보기의 경우

    android : background = "@ drawable / your_fileName"


1

다음은 테두리가있는 ImageView를 반환하는 '간단한'도우미 클래스입니다. 이것을 utils 폴더에 드롭하고 다음과 같이 호출하십시오.

ImageView selectionBorder = BorderDrawer.generateBorderImageView(context, borderWidth, borderHeight, thickness, Color.Blue);

코드는 다음과 같습니다.

/**
 * Because creating a border is Rocket Science in Android.
 */
public class BorderDrawer
{
    public static ImageView generateBorderImageView(Context context, int borderWidth, int borderHeight, int borderThickness, int color)
    {
        ImageView mask = new ImageView(context);

        // Create the square to serve as the mask
        Bitmap squareMask = Bitmap.createBitmap(borderWidth - (borderThickness*2), borderHeight - (borderThickness*2), Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(squareMask);

        Paint paint = new Paint();
        paint.setStyle(Paint.Style.FILL);
        paint.setColor(color);
        canvas.drawRect(0.0f, 0.0f, (float)borderWidth, (float)borderHeight, paint);

        // Create the darkness bitmap
        Bitmap solidColor = Bitmap.createBitmap(borderWidth, borderHeight, Bitmap.Config.ARGB_8888);
        canvas = new Canvas(solidColor);

        paint.setStyle(Paint.Style.FILL);
        paint.setColor(color);
        canvas.drawRect(0.0f, 0.0f, borderWidth, borderHeight, paint);

        // Create the masked version of the darknessView
        Bitmap borderBitmap = Bitmap.createBitmap(borderWidth, borderHeight, Bitmap.Config.ARGB_8888);
        canvas = new Canvas(borderBitmap);

        Paint clearPaint = new Paint();
        clearPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));

        canvas.drawBitmap(solidColor, 0, 0, null);
        canvas.drawBitmap(squareMask, borderThickness, borderThickness, clearPaint);

        clearPaint.setXfermode(null);

        ImageView borderView = new ImageView(context);
        borderView.setImageBitmap(borderBitmap);

        return borderView;
    }
}

어떻게 사용 selectionBorder합니까?
Tash Pemhiwa

@TashPemhiwa Button.setBackgroundDrawable ();
NinjaOnSafari

0

도움이 될 수 있습니다.

<RelativeLayout
    android:id="@+id/textbox"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:background="@android:color/darker_gray" >

    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:layout_margin="3dp"
        android:background="@android:color/white"
        android:gravity="center"
        android:text="@string/app_name"
        android:textSize="20dp" />

</RelativeLayout

0

배경색을 테두리 색 및 텍스트보기 크기로 사용하여 테두리보기를 만듭니다. 테두리보기 패딩을 테두리 너비로 설정합니다. 텍스트보기 배경색을 텍스트보기에 원하는 색으로 설정하십시오. 이제 테두리보기 안에 텍스트보기를 추가하십시오.


0

이 시도:

<shape>
    <solid android:color="@color/txt_white"/>
    <stroke android:width="1dip" android:color="@color/border_black"/>
</shape>

0

textView에 테두리를 추가하는 방법에는 여러 가지가 있습니다. 가장 간단한 방법은 사용자 정의 드로어 블을 만들고 android:background="@drawable/textview_bg"textView 와 같이 설정하는 것 입니다.

textview_bg.xml은 Drawables 아래에 있으며 다음과 같이 될 수 있습니다. 모서리 반경 을 추가하고 테두리를 추가하기 solid위해 gradient배경 또는 배경 (또는 필요하지 않은 경우 아무것도 없음)을 가질 수 있습니다 .cornersstroke

textview_bg.xml

<?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle">

        <corners
            android:radius="@dimen/dp_10"/>

        <gradient
            android:angle="225"
            android:endColor="#FFFFFF"
            android:startColor="#E0E0E0" />

        <stroke
            android:width="2dp"
            android:color="#000000"/>

    </shape>

0
  <View
    android:layout_width="match_parent"
    android:layout_height="2dp"
    android:background="@android:color/black" />

이 코드는 당신이 원하는 곳에 배치 할 수 있습니다


0

XML 텍스트 뷰에서 setBackground

drawed_textview.xml 파일을 드로어 블 디렉토리에 추가하십시오.

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
   <solid android:color="@android:color/white" />
   <stroke android:width="2dip" android:color="#4f5g52"/>
</shape>

textView 백그라운드에서 드로어 블 파일을 설정하십시오.


-1

실제로는 매우 간단합니다. Textview 뒤에 간단한 검은 사각형을 원한다면 android:background="@android:color/black"TextView 태그 안에 추가하십시오 . 이처럼 :

<TextView
    android:textSize="15pt" android:textColor="#ffa7ff04"
    android:layout_alignBottom="@+id/webView1"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:background="@android:color/black"/>

그는 전체 배경이 아닌 테두리를 요청합니다.
남자
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.