安卓 刮刮乐
来源:互联网 发布:开元知海e读 编辑:程序博客网 时间:2024/05/18 03:50
<strong><span style="font-size:18px;">什么都不说 ,直接贴代码</span></strong>
package com.example.guale;import android.content.Context;import android.graphics.Bitmap;import android.graphics.Bitmap.Config;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Path;import android.graphics.PorterDuff.Mode;import android.graphics.PorterDuffXfermode;import android.util.AttributeSet;import android.view.MotionEvent;import android.view.View;public class EraseView extends View {private boolean isMove = false;private Bitmap bitmap = null;private Bitmap frontBitmap = null;private Path path;private Canvas mCanvas;private Paint paint;public EraseView(Context context, AttributeSet attrs) {super(context, attrs);}@Overrideprotected void onDraw(Canvas canvas) { if (mCanvas == null) { EraseBitmp(); } canvas.drawBitmap(bitmap, 0, 0, null);mCanvas.drawPath(path,paint);super.onDraw(canvas);}public void EraseBitmp() {bitmap = Bitmap.createBitmap(getWidth(),getHeight(), Bitmap.Config.ARGB_4444);//生成的抽奖的前面布局frontBitmap = CreateBitmap(Color.GRAY,getWidth(),getHeight());paint = new Paint();// 设置paint的风格为“空心”// 当然也可以设置为"实心"(Paint.Style.FILL)paint.setStyle(Paint.Style.STROKE);paint.setXfermode(new PorterDuffXfermode(Mode.CLEAR));//设置为无锯齿//paint.setAntiAlias(true);paint.setDither(true);paint.setStrokeJoin(Paint.Join.ROUND);paint.setStrokeCap(Paint.Cap.ROUND);//设置外围宽度paint.setStrokeWidth(30);path = new Path();mCanvas = new Canvas(bitmap);mCanvas.drawBitmap(frontBitmap, 0, 0,null);}@Overridepublic boolean onTouchEvent(MotionEvent event) {// TODO Auto-generated method stubfloat ax = event.getX();float ay = event.getY();if (event.getAction() == MotionEvent.ACTION_DOWN) {isMove = false;path.reset();path.moveTo(ax, ay);invalidate();return true;} else if (event.getAction() == MotionEvent.ACTION_MOVE) {isMove = true;path.lineTo(ax,ay);invalidate();return true;}return super.onTouchEvent(event);}public Bitmap CreateBitmap(int color,int width, int height) {int[] rgb = new int [width * height];for (int i=0;i<rgb.length;i++) {rgb[i] = color;}return Bitmap.createBitmap(rgb, width, height,Config.ARGB_4444);}}</span>2.布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="30dp" android:layout_marginTop="100dp" > <TextView android:id="@+id/textView1" android:layout_width="300dp" android:layout_height="150dp" android:textSize="25dp" android:gravity="center_vertical|center_horizontal" android:background="@android:color/white" /> <com.example.guale.EraseView android:id="@+id/eraseView1" android:layout_width="300dp" android:layout_height="150dp"/> </RelativeLayout></LinearLayout>3.主文件
package com.example.guale;import java.util.ArrayList;import java.util.List;import java.util.Random;import com.example.guale.R;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;public class MainActivity extends Activity {private TextView textView;private Button button;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);textView = (TextView) findViewById(R.id.textView1);initData();}private void initData() {List<String> rewards=new ArrayList<String>();rewards.add("乡下人别乱摸");rewards.add("恭喜中奖一毛,已存入零钱");rewards.add("404");rewards.add("520,局部地震");rewards.add("优衣库试衣间代金券");rewards.add("夏陌陌炮友面基");rewards.add("小拇指体验一次");rewards.add("什么都没有");rewards.add("抽到一坨屎");rewards.add("城会玩");//生成随机数int max=9; int min=0; Random random = new Random(); int s = random.nextInt(max)%(max-min+1) + min; textView.setText(rewards.get(s));}}
0 0
- 安卓 刮刮乐
- 安卓
- 安卓
- 安卓
- 安卓
- 【安卓】
- 安卓
- 安卓
- 安卓
- 安卓
- 安卓
- 安卓
- 安卓
- 安卓
- 安卓学习-安卓环境布置
- 安卓开发-安卓启动过程
- 安卓开发-安卓与sqlite
- 安卓开发工具安卓
- vector
- 无法定位序数385 于动态链接库 licurl.dll
- leetcode.349. Intersection of Two Arrays
- Hello world
- java导入导出excel相关
- 安卓 刮刮乐
- Lucene全文搜索原理与使用
- 添加约束的方法:
- php 时间秒数转换成H:i:s
- qsort与sort效率用法比较
- 打开Mac OSX原生的NTFS功能
- Java 泛型
- SQLSERVER的字段类型说明
- 【leetcode】14. Longest Common Prefix