Write Multiline Text on Button in Android

后端 未结 8 1873
没有蜡笔的小新
没有蜡笔的小新 2021-01-11 15:59

I want to know, How to write Multiline Text on Button

 
8条回答
  •  梦谈多话
    2021-01-11 16:14

    you can achieve using this.

    1->create a button in layout as

     

    2-> Add this class in your project.

    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.graphics.ColorFilter;
    import android.graphics.Paint;
    import android.graphics.PixelFormat;
    import android.graphics.drawable.Drawable;
    
    public class TextDrawable extends Drawable {
    
        private final String text;
        private final Paint paint;
    
        public TextDrawable(String text) {
    
            this.text = text;
    
            this.paint = new Paint();
            paint.setColor(Color.WHITE);
            paint.setTextSize(20f);
            paint.setAntiAlias(true);
            paint.setFakeBoldText(true);
            paint.setShadowLayer(6f, 0, 0, Color.BLACK);
            paint.setStyle(Paint.Style.FILL);
            paint.setTextAlign(Paint.Align.LEFT);
        }
    
        @Override
        public void draw(Canvas canvas) {
            canvas.drawText(text, 0, 0, paint);
        }
    
        @Override
        public void setAlpha(int alpha) {
            paint.setAlpha(alpha);
        }
    
        @Override
        public void setColorFilter(ColorFilter cf) {
            paint.setColorFilter(cf);
        }
    
        @Override
        public int getOpacity() {
            return PixelFormat.TRANSLUCENT;
        }
    }
    

    3-> add these lines in your activity class

    Button button=(Button)findViewById(R.id.button);
    button.setCompoundDrawables( new TextDrawable("Hour"), null, null, null);
    

提交回复
热议问题