精华内容
下载资源
问答
  • TextView边框
    2017-12-27 14:51:11

    一。首先看看EditView,这个加一个背景颜色就可以营造出,编辑框有边框的假象。

    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="com.example.a87188.roundtextview.MainActivity">
    
        <LinearLayout
           android:layout_gravity="center"
            android:gravity="center"
            android:background="#66ccff"
            android:layout_width="250dp"
            android:layout_height="50dp">
        <EditText
            android:layout_width="230dp"
            android:layout_height="30dp"
            android:background="#ffffff"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent" />
        </LinearLayout>
    
    </LinearLayout>
    二。圆角边框,渐变背景的TextView
    	就是给TextView添加一个背景,和上例一样。在drawable资源文件中写背景xml
    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android">
        <!--指定圆角矩形的4个圆角半径-->
        <corners android:topLeftRadius="20px"
            android:bottomRightRadius="20px"
            android:topRightRadius="5px"
            android:bottomLeftRadius="5px"/>
        <stroke android:width="4px" android:color="#f0f"/>
    </shape>
    	需要指出的是,表面上这里只是介绍TextView,但由于TextView是EditText,Button等类的父类,因此此处介绍
    的对TextView控制的属性,同样适用于EditText与Button

    更多相关内容
  • 可以在代码中控制textView边框颜色以及背景颜色,避免过多的绘制不同颜色的xml文件,使用时必须为textView设置一个默认的背景样式,但是有个弱点,在xml中设置默认背景时,修改后默认背景会一同被改变,所以尽量...
  • 最近写了一个带边框TextView,因为项目中有许多地方需要用到一个带边框TextView,而且需要根据不同的状态显示不同的边框颜色,当时的第一反应就是用shape做,但后来转念一想这要需要定义多少个drawable文件啊,...

    最近写了一个带边框的TextView,因为项目中有许多地方需要用到一个带边框的TextView,而且需要根据不同的状态显示不同的边框颜色,当时的第一反应就是用shape做,但后来转念一想这要需要定义多少个drawable文件啊,瞬间决定换个思路,于是自定义一个TextView带有边框,并且能通过java代码来动态控制边框以及字体颜色,这样就会省好多事情,上次也写了一个圆角实体的背景颜色,具体可以查看这篇博客:Android自定义TextView带圆角及背景颜色(动态改变圆角背景颜色),这次就写了一个空心的带边框的,好了,老规矩,先来一波效果图,毕竟有效果图才知道是不是想要的那种效果,具体看效果图,左边是布局文件视图看到的,右边是通过代码设置的效果:

    5f891e7da4173eb645511a1803965d2e.png          273d69768618d1aeabcb649b1dc355d0.png

    接下来就来看看代码是怎么实现的,代码实现是非常简单,就是自定义了一个TextView,然后引用就行了,先看看自定义的TextView代码:

    TextViewBorder.java

    package com.test.withborderstextview;

    import android.content.Context;

    import android.content.res.TypedArray;

    import android.graphics.Canvas;

    import android.graphics.Paint;

    import android.graphics.RectF;

    import android.util.AttributeSet;

    import android.widget.TextView;

    /**

    * Created by lp on 2016/9/21.

    */

    public class TextViewBorder extends TextView {

    private static final int STROKE_WIDTH = 2;

    private int borderCol;

    private Paint borderPaint;

    public TextViewBorder(Context context, AttributeSet attrs) {

    super(context, attrs);

    TypedArray a = context.getTheme().obtainStyledAttributes(attrs,

    R.styleable.TextViewBorder, 0, 0);

    try {

    borderCol = a.getInteger(R.styleable.TextViewBorder_borderColor, 0);//0 is default

    } finally {

    a.recycle();

    }

    borderPaint = new Paint();

    borderPaint.setStyle(Paint.Style.STROKE);

    borderPaint.setStrokeWidth(STROKE_WIDTH);

    borderPaint.setAntiAlias(true);

    }

    @Override

    protected void onDraw(Canvas canvas) {

    if (0 == this.getText().toString().length())

    return;

    borderPaint.setColor(borderCol);

    int w = this.getMeasuredWidth();

    int h = this.getMeasuredHeight();

    RectF r = new RectF(2, 2, w - 2, h - 2);

    canvas.drawRoundRect(r, 5, 5, borderPaint);

    super.onDraw(canvas);

    }

    public int getBordderColor() {

    return borderCol;

    }

    public void setBorderColor(int newColor) {

    borderCol = newColor;

    invalidate();

    requestLayout();

    }

    }

    其中的style在style.xml中有定义:

    接下来就看看怎么引用:这里需要注意引入 xmlns:app="http://schemas.android.com/apk/res-auto"

    activity_main.xml

    最后我们来看看怎么在代码中动态更改边框以及字体颜色

    MainActivity.java

    package com.test.withborderstextview;

    import android.support.v7.app.AppCompatActivity;

    import android.os.Bundle;

    public class MainActivity extends AppCompatActivity {

    private TextViewBorder state1;

    private TextViewBorder state2;

    private TextViewBorder state3;

    private TextViewBorder state4;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    state1 = (TextViewBorder) findViewById(R.id.state1);

    state2 = (TextViewBorder) findViewById(R.id.state2);

    state3 = (TextViewBorder) findViewById(R.id.state3);

    state4 = (TextViewBorder) findViewById(R.id.state4);

    //边框颜色

    state2.setBorderColor(getResources().getColor(R.color.app_red_delete_color));

    //字体颜色

    state2.setTextColor(getResources().getColor(R.color.app_red_delete_color));

    state3.setBorderColor(getResources().getColor(R.color.app_blue_color));

    state3.setTextColor(getResources().getColor(R.color.progress_color));

    state4.setBorderColor(getResources().getColor(R.color.app_red_delete_color));

    state4.setTextColor(getResources().getColor(R.color.app_blue_color));

    }

    }

    到这里就基本已经完成了,大家有什么建议给留言啊,需要进步,加油吧骚年

    如果有不清楚的可以下载源码看看:

    Android自定义TextView带圆角边框颜色(动态更改边框颜色)

    展开全文
  • 1.在drawable文件夹下面创建setbar_bg.xml 代码如下:<?xml version=”1.0″ encoding=”utf-8″?...– 边框色 –> ”0.5dip” android:color=”#81CE47″></shape>2.设置TextView顺序 代码如下: andr
  • 自定义TextView边框,可以动态更边框颜色以及字体颜色,可设置边框圆角
  • 动态设置TextView边框颜色

    千次阅读 2017-11-08 14:26:20
    1.在values文件下的attrs.xml中添加样式: name="TextViewBorder"> name="tvborderColor" format="color" /> name="tvBorderWidth" format=...2.自定义TextView: public class TextViewBorder extends

    1.在values文件下的attrs.xml中添加样式:

    <declare-styleable name="TextViewBorder">
        <attr name="tvborderColor" format="color" />
        <attr name="tvBorderWidth" format="integer" />
    </declare-styleable>
    2.自定义TextView:

    public class TextViewBorder extends android.support.v7.widget.AppCompatTextView {
        private int strokeWidth = 2; // 默认边框宽度
        private int borderCol;
        private Paint borderPaint;
    
        public TextViewBorder(Context context, AttributeSet attrs) {
            super(context, attrs);
    
            TypedArray a = context.getTheme().obtainStyledAttributes(attrs,
                    R.styleable.TextViewBorder, 0, 0);
            try {
                borderCol = a.getInteger(R.styleable.TextViewBorder_tvborderColor, 0);//0 is default
                strokeWidth=a.getInteger(R.styleable.TextViewBorder_tvborderColor,2);
                
            } finally {
                a.recycle();
            }
    
            borderPaint = new Paint();
            borderPaint.setStyle(Paint.Style.STROKE);
            borderPaint.setStrokeWidth(strokeWidth);
            borderPaint.setAntiAlias(true);
        }
    
        @Override
        protected void onDraw(Canvas canvas) {
    
            if (0 == this.getText().toString().length()) {
                return;
            }
            borderPaint.setColor(borderCol);
            int w = this.getMeasuredWidth();
            int h = this.getMeasuredHeight();
            RectF r = new RectF(2, 2, w - 2, h - 2);
            canvas.drawRoundRect(r, 5, 5, borderPaint);
    
            super.onDraw(canvas);
        }
    
        public int getBordderColor() {
            return borderCol;
        }
    
    
        public void setBorderColor(int newColor) {
            borderCol = newColor;
            invalidate();
            requestLayout();
        }
        public void setBorderWidth(int width){
            strokeWidth=width;
            invalidate();
            requestLayout();
        }
    3.布局里使用:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
    
      
      <TextViewBorder
        android:id="@+id/tv_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        app:tvborderColor="@color/green"
        tools:text="中国武术" />
    </LinearLayout>
    4.在调用处可以直接通过TextViewBorder.setBorderColor()赋值。


    展开全文
  • RoundRainbowTextView Android自定义TextView,带渐变色边框的彩虹字效果 RoundRainbowTextView textView = findViewById(R.id.custom); textView.setBorder(2, 5, new int[]{Color.RED, Color.YELLOW});
  • -- 边框 --> android:width="0.5dp" android:color="@color/label_orange"/> <!-- 圆角 --> <!-- 边距 --> android:top="2dp" android:bottom="2dp" android:left="6dp" android:right="6dp"/> 2...
    样式代码:

    弧度和背景主要靠background中的.xml文件实现

    1、

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android">
    
        <!-- 实心 -->
        <solid android:color="@android:color/white"/>
        <!-- 边框 -->
        <stroke
                android:width="0.5dp"
                android:color="@color/label_orange"/>
        <!-- 圆角 -->
        <corners android:radius="3dp"/>
        <!-- 边距 -->
        <padding
                android:top="2dp"
                android:bottom="2dp"
                android:left="6dp"
                android:right="6dp"/>
    
    </shape>

    2、

    <?xml version="1.0" encoding="utf-8"?>
    <shape
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:shape="oval"
            android:useLevel="false">
    
        <!-- 实心 -->
        <solid android:color="@color/label_round_orange" />
        <!-- 圆角 -->
        <corners android:radius="360dp" />
        <!-- 边距 -->
        <padding
            android:bottom="1dp"
            android:left="1dp"
            android:right="1dp"
            android:top="1dp" />
    
        <!-- 大小 -->
        <size android:width="15dp"
              android:height="15dp" />
    
    </shape>


    展开全文
  • TextView显示边框

    千次阅读 2021-12-31 15:42:35
    Android中的TextView默认是没有边框的,在显示效果上不够理想,如何给TextView加上边框呢? 方法1(推荐): 首先在drawable目录中创建一个textview_border.xml文件(文件名可自定义): <?xml version="1.0...
  • 如何使用xml布局在图片所示的文字周围添加边框我尝试将边框添加到布局中,但与文本重叠。... 如何在Android textview周围放置边框?您可以尝试这种布局,它可以根据您的要求进行反映android:layout_width="match_p...
  • android TextView边框

    2021-05-26 11:01:10
    TextView边框。须要在drawable建xml文件,里面设置shape来设置文本框的特殊效果。android:width="0.5dp"android:color="@android:color/white" />android:bottom="5dp"android:left="5dp"android:right="5dp...
  • android 设置textview边框以及点击效果

    千次阅读 2016-01-29 14:13:40
    android 设置textview边框以及点击效果 <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable
  • TextView设置边框

    千次阅读 2020-02-17 10:25:42
    padding是边框距文字的距离 最后再布局文件里引用就可以了: < TextView android: id = " @+id/textView " android: layout_width = " wrap_content " android: layout_height = " wrap_content " ...
  • android 设置textview 边框

    千次阅读 2014-04-08 11:25:58
    textView.setBackgroundDrawable(getResources().getDrawable(R.drawable.border));  2.自定义TextView package com.example.test; import android.annotation.SuppressLint; import android.content.Context;...
  • Android自定义属性实现带边框效果的TextView,详细使用请查看:http://blog.csdn.net/llew2011
  • android 添加边框textview 实现的两种方式
  • 学习过程中碰到的,记录下来而已!! http://blog.csdn.net/su_home/article/details/9928667
  • ,加背景图片,透明的带边框的背景图片设置到android:background就可以方法二:创建一个 shape 设置到android:background就可以方法三:(太麻烦)编写一个继承TextView类的自定义组件,并在onDraw事件方法中画边框。...
  • Android 使用Kotlin来实现加边框的文本,详情请点击:https://lijuan.blog.csdn.net/article/details/119186330
  • 如果您制作带有边框的图像,那么它将为您的TextView提供边框。您要做的就是制作图像,然后将其设置为TextView中的背景。 android:id="@+id/textview1" android:layout_width="wrap_content" android:layout_height=...
  • TextView设置全边框很简单:在 res 目录中的 drawable 目录下,创建xx.xml 文件,然后在其中写出代码:全边框设置单边框(例如只有上,左,右有边框而底部没有的效果等)在 res 目录中的 drawable 目录下,创建xx.xml...
  • android 为TextView添加边框

    万次阅读 2018-08-19 10:39:01
    今天需要在TextView上面添加一个边框,但是TextView本身不支持边框,所以只能采用其他方式,在网上查询了一下,主要有三种方式可以实现1.带有边框的透明图片2.使用xml的shape设置3继承TextView覆写onDraw方法。 ...
  • Android 带边框Textview

    2021-06-30 12:39:16
    Android 带边框Textview 1 编写矩形边框的Drawable <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 设置边框--> <...
  • 如何为TextView添加边框

    千次阅读 2018-11-13 20:22:36
    这就意味着如果我们想要一个框,就要定义一个xml布局文件,然后把布局文件的内容赋给TextView的background属性。 操作步骤如下: 第一步:定义xml文件,命名为setbar_bg.xml,并写入如下代码: &lt;?xml ...
  • 想给textview加一个边框,自定义了一个BorderTextView类,结果没什么用,边框显示不出来。直接上代码了。 ![图片说明](https://img-ask.csdn.net/upload/201902/27/1551254905_682266.jpg)![图片说明]...
  • 在drawable建xml文件,里面设置shape来设置文本框的特殊效果 android:dashWidth=“3dp”//虚线的单位长度, android:dashGap=“3dp”//虚线的单位间隔长度 <?xml version="1.0" encoding="utf-8"?...
  • Android textview边框绘制

    2016-06-29 17:24:29
    定义只有上下有边框 左右没有 xml version="1.0" encoding="UTF-8"?> xmlns:android="http://schemas.android.com/apk/res/android" > 连框颜色值 --> android:color="#5fb336" /> 主体背景颜色值 --> ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,792
精华内容 4,316
关键字:

textview边框

友情链接: vanetrbc.rar