展会信息港展会大全

Android Button与Matrix
来源:互联网   发布日期:2016-01-14 11:25:09   浏览:1863次  

导读:点击Button使图片旋转一定的角度,效果图如下:代码项目:package zhang.bp;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics......

点击Button使图片旋转一定的角度,效果图如下:

代码项目:

package zhang.bp;

import android.app.Activity;

import android.graphics.Bitmap;

import android.graphics.BitmapFactory;

import android.graphics.Matrix;

import android.graphics.drawable.BitmapDrawable;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.ImageView;

import android.widget.TextView;

public class bitmap_Matrix extends Activity {

private Button mButton1;

private Button mButton2;

private TextView mTextView1;

private ImageView mImageView1;

private int ScaleTimes;

private int ScaleAngle;

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

mButton1 = (Button) findViewById(R.id.button1);

mButton2 = (Button) findViewById(R.id.button2);

mImageView1 = (ImageView) findViewById(R.id.imageView1);

mTextView1 = (TextView) findViewById(R.id.textView1);

ScaleTimes = 1;

ScaleAngle = 1;

final Bitmap mySourBmp = BitmapFactory.decodeResource(getResources(),

R.drawable.icon);

final int widthOrig = mySourBmp.getWidth();

final int heightOrig = mySourBmp.getHeight();

mImageView1.setImageBitmap(mySourBmp);

mButton1.setOnClickListener(new Button.OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

ScaleAngle--;

if (ScaleAngle < -5) {

ScaleAngle = -5;

}

int newWidth = widthOrig * ScaleTimes;

int newHeight = heightOrig * ScaleTimes;

float scaleWidth = ((float) newWidth) / widthOrig;

float scaleHeight = ((float) newHeight) / heightOrig;

Matrix matrix = new Matrix();

matrix.postScale(scaleWidth, scaleHeight);

matrix.setRotate(5 * ScaleAngle);

Bitmap resizedBitmap = Bitmap.createBitmap(mySourBmp, 0, 0,

widthOrig, heightOrig, matrix, true);

BitmapDrawable myNewBitmapDrawable = new BitmapDrawable(

resizedBitmap);

mImageView1.setImageDrawable(myNewBitmapDrawable);

mTextView1.setText(Integer.toString(5 * ScaleAngle));

}

});

mButton2.setOnClickListener(new Button.OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

ScaleAngle++;

if (ScaleAngle < 5) {

ScaleAngle = 5;

}

int newWidth = widthOrig * ScaleTimes;

int newHeight = heightOrig * ScaleTimes;

float scaleWidth = ((float) newWidth) / widthOrig;

float scaleHeight = ((float) newHeight) / heightOrig;

Matrix matrix = new Matrix();

matrix.postScale(scaleWidth, scaleHeight);

matrix.setRotate(5 * ScaleAngle);

Bitmap resizedBitmap = Bitmap.createBitmap(mySourBmp, 0, 0,

widthOrig, heightOrig, matrix, true);

BitmapDrawable myNewBitmapDrawable = new BitmapDrawable(

resizedBitmap);

mImageView1.setImageDrawable(myNewBitmapDrawable);

mTextView1.setText(Integer.toString(5 * ScaleAngle));

}

});

}

}

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent">

<TextView

android:id="@+id/textView1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="TextView"

/>

<TableLayout

android:id="@+id/tableLayout1"

android:layout_width="fill_parent"

android:layout_height="wrap_content">

<TableRow

android:id="@+id/tableRow1"

android:layout_width="wrap_content"

android:layout_height="wrap_content">

<Button

android:id="@+id/button1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Button"

/>

<ImageView

android:id="@+id/imageView1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:src="@drawable/icon"

/>

<Button

android:id="@+id/button2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Button"

/>

</TableRow>

</TableLayout>

</LinearLayout>

赞助本站

人工智能实验室

相关热词: Button Matrix

AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港