自定義View 隨機四位數
阿新 • • 發佈:2018-12-15
CustomView
@SuppressLint("AppCompatCustomView") public class CustomView extends TextView { Paint paint; int i=0; public CustomView(Context context) { super(context); init(); } public CustomView(Context context, @Nullable AttributeSet attrs) { super(context, attrs); init(); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); } private void changeText(){ setText(String.valueOf(getNums())); if(i%2==0){ setBackgroundColor(Color.BLACK); }else{ setBackgroundColor(Color.RED); } i++; } private int getNums() { //獲取隨機數Math.random(),取值範圍[0, 1); //所有*9000後取值範圍 [0, 9000) //最後加上1000,範圍[1000, 10000) return (int) (Math.random()*9000+1000); } private void init() { changeText(); setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { changeText(); } }); } }
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout 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="match_parent" tools:context=".MainActivity"> <com.example.day03_demo01.view.CustomView android:id="@+id/customview" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" android:textSize="40sp" /> </android.support.constraint.ConstraintLayout>
MainActivity中不需要寫東西
以下是效果圖 點選text 背景顏色變換 隨機數變化