android_66_girl_dress_up
来源:互联网 发布:淘宝转运怎么用 编辑:程序博客网 时间:2024/06/16 14:57
效果:
清单:
布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.sg31.girldressup.MainActivity" > <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/aneiyi" /> <ImageView android:id="@+id/iv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/awaiyi" /> </RelativeLayout>
代码:
package com.sg31.girldressup;import android.support.v7.app.ActionBarActivity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Matrix;import android.graphics.Paint;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.MotionEvent;import android.view.View;import android.view.View.OnTouchListener;import android.widget.ImageView;public class MainActivity extends ActionBarActivity {private Bitmap bmCopy;private ImageView iv;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);dressup();}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// Handle action bar item clicks here. The action bar will// automatically handle clicks on the Home/Up button, so long// as you specify a parent activity in AndroidManifest.xml.int id = item.getItemId();if (id == R.id.action_settings) {return true;}return super.onOptionsItemSelected(item);}public void dressup() {Bitmap bmSrc = BitmapFactory.decodeResource(getResources(),R.drawable.awaiyi);bmCopy = Bitmap.createBitmap(bmSrc.getWidth(), bmSrc.getHeight(),bmSrc.getConfig());Paint paint = new Paint();Canvas canvas = new Canvas(bmCopy);canvas.drawBitmap(bmSrc, new Matrix(), paint);iv = (ImageView) findViewById(R.id.iv);iv.setOnTouchListener(new OnTouchListener() {@Overridepublic boolean onTouch(View v, MotionEvent event) {switch (event.getAction()) {case MotionEvent.ACTION_MOVE:int x = (int) event.getX();int y = (int) event.getY();for (int i = -5; i <= 5; i++) {for (int j = -5; j <= 5; j++) {// 把用户划过的坐标置为透明色// 改变指定的像素颜色if (Math.sqrt(i * i + j * j) <= 5) {if (x + i < bmCopy.getWidth()&& y + j < bmCopy.getHeight()&& x + i >= 0 && y + j >= 0) {bmCopy.setPixel(x + i, y + j,Color.TRANSPARENT);iv.setImageBitmap(bmCopy);}}}}break;}return true;}});}}
0 0
- android_66_girl_dress_up
- 多态性——运算符重载(一)
- 11.安卓跳转到一个网页链接、本地链接
- 一种简单的测试您的防垃圾系统的方法!
- 设计模式(一):单例模式
- 实现一个单链表的倒置
- android_66_girl_dress_up
- 入侵检测初学习--常见的入侵检测系统
- 更新Gradle后Databinding问题
- nodejs与javascript
- Java 中常用缓存Cache机制的实现
- jenkins构建后执行部署脚本
- 《Linux内核设计与实现》读书笔记(十一)- 定时器和时间管理
- js、php获取当前日期、当前日期前一周、当前日期前一个月 日期
- ndk中日志,调试及故障处理