android 图片点击一下就放大到全屏,再点一下就回到原界面
16lz
2022-05-25
1、MainActivity.java
package com.example.imagetofullscreen;import android.os.Bundle;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Matrix;import android.util.DisplayMetrics;import android.view.Display;import android.view.MotionEvent;import android.widget.ImageView;/*android 图片点击一下就放大到全屏,再点一下就回到原界面 */public class MainActivity extends Activity { /** Called when the activity is first created. */ Bitmap bp=null; ImageView imageview; float scaleWidth; float scaleHeight; int h; boolean num=false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); DisplayMetrics dm=new DisplayMetrics();//创建矩阵 getWindowManager().getDefaultDisplay().getMetrics(dm); imageview=(ImageView)findViewById(R.id.imageview); bp=BitmapFactory.decodeResource(getResources(),R.drawable.xiaoyua); int width=bp.getWidth(); int height=bp.getHeight(); int w=dm.widthPixels; //得到屏幕的宽度 int h=dm.heightPixels; //得到屏幕的高度 scaleWidth=((float)w)/width; scaleHeight=((float)h)/height; imageview.setImageBitmap(bp); } @Override public boolean onTouchEvent(MotionEvent event) { switch(event.getAction()){ case MotionEvent.ACTION_DOWN: //当屏幕检测到第一个触点按下之后就会触发到这个事件。 if(num==true) { Matrix matrix=new Matrix(); matrix.postScale(scaleWidth,scaleHeight); Bitmap newBitmap=Bitmap.createBitmap(bp, 0, 0, bp.getWidth(), bp.getHeight(), matrix, true); imageview.setImageBitmap(newBitmap); num=false; } else{ Matrix matrix=new Matrix(); matrix.postScale(1.0f,1.0f); Bitmap newBitmap=Bitmap.createBitmap(bp, 0, 0, bp.getWidth(), bp.getHeight(), matrix, true); imageview.setImageBitmap(newBitmap); num=true; } break; } return super.onTouchEvent(event); } }2、activity_main.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <ImageView android:id="@+id/imageview" android:layout_width="wrap_content" android:layout_height="wrap_content" /></LinearLayout>
实例代码下载: http://download.csdn.net/detail/baidu_28479651/9187679
更多相关文章
- Android保持屏幕常亮的方法
- Android得到SD卡文件夹大小以及删除文件夹操作
- 软键盘弹出影响布局
- Android中Spinner根据value来选择选中项
- Android(安卓)中获取屏幕长度及宽度
- Android如何截取当前View 为图片
- Android: 屏幕截图
- android 唤醒和解锁屏幕
- Android判断下载File是否为apk文件