如何通过按下按钮在android中绘制圆圈?

时间:2016-12-08 18:09:05

标签: java android xml button

我想在按下按钮的同时在屏幕上显示小点,例如 pin 代码......

switch (view.getId()){
    case R.id.buttonNum1:
        editor.putString("PinNumbers",getString(R.string.numberOne));
        int x = 10;
        int y = 30;
        int r = 100;
        Paint mPaint = new Paint();
        mPaint.setColor(Color.BLACK);
        Canvas mCanvas = new Canvas();
        mCanvas.drawCircle(x,y,r,mPaint);
        break;

1 个答案:

答案 0 :(得分:0)

  

您可以通过创建涟漪效果来实现

     

在drawable-v21文件夹中创建一个可绘制的名称,如pin_button_ripple,并添加以下代码

<ripple xmlns:android="http://schemas.android.com/apk/res/android"
        android:color="?android:colorControlHighlight">
    <item android:id="@android:id/mask">
        <shape android:shape="oval">
            <solid android:color="?android:colorPrimary" />

        </shape>
    </item>
</ripple>

现在在布局文件中将其设置为按钮的背景,并在活动中定义单击侦听器

  

<Button
    android:id="@+id/btnPinButton"
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:layout_centerInParent="true"
    android:background="@drawable/pin_button_ripple"
    android:padding="20dp"
    android:text="10"/>
     

     

你会看到圆圈形状的涟漪效果,就像我们输入Pin一样   通过键盘输入数字或密码并显示该效果