安卓案例-图片浏览器
来源:互联网 发布:淘宝直播卖什么好 编辑:程序博客网 时间:2024/05/12 11:13
本例中的图片浏览器可以改变所查看的图片的透明度,可通过调用ImageView 的setImageAlpha方法来实现,不仅如此,这个图片浏览器还可以通过一个小区域来查看图片的原始大小,因此本案例定义两个ImageView ,一个用于查看图片整体,一个用于查看图片局部的细节。
本案例效果图如下
布局文件代码如下
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" tools:context="pub.weber.bym.imageview.MainActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" android:gravity="center|top"> <Button android:id="@+id/plus" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="增大透明度"/> <Button android:id="@+id/minus" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="减小透明度"/> <Button android:id="@+id/next" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="下一张"/> </LinearLayout> <ImageView android:id="@+id/image1" android:layout_width="wrap_content" android:layout_height="280dp" android:src="@drawable/b" android:scaleType="fitCenter"/> <ImageView android:id="@+id/image2" android:layout_width="120dp" android:layout_height="120dp" android:background="#00f" android:layout_margin="10dp"/></LinearLayout>
MainActivity 代码如下
public class MainActivity extends AppCompatActivity { // 图片数组 int [] images = new int[]{ R.drawable.a, R.drawable.b, R.drawable.c, R.drawable.d }; int currentImg = 2; private int alpha = 255; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final Button plus = (Button) findViewById(R.id.plus); final Button minus = (Button) findViewById(R.id.minus); final ImageView image1 = (ImageView) findViewById(R.id.image1); final ImageView image2 = (ImageView) findViewById(R.id.image2); final Button next = (Button) findViewById(R.id.next); // 查看下张图片 next.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { image1.setImageResource(images[++currentImg % images.length]); } }); // 改变透明度方法 View.OnClickListener listener = new View.OnClickListener(){ @Override public void onClick(View view){ if (view == plus){ alpha += 20; } if (view == minus){ alpha -= 20; } if (alpha >= 255){ alpha = 255; } if (alpha <= 0){ alpha = 0; } image1.setImageAlpha(alpha); } }; plus.setOnClickListener(listener); minus.setOnClickListener(listener); image1.setOnTouchListener(new View.OnTouchListener(){ @Override public boolean onTouch(View view, MotionEvent event){ BitmapDrawable bitmapDrawable = (BitmapDrawable) image1.getDrawable(); // 获取第一个图片显示框中的位图 Bitmap bitmap = bitmapDrawable.getBitmap(); // bitmap 图片实际大小与第一个 ImageView 的缩放比例 double scale = 1.0 * bitmap.getHeight() / image1.getHeight(); // 获取需要显示的图片的开始点 int x = (int) (event.getX() * scale); int y = (int) (event.getY() * scale); if (x + 120 > bitmap.getWidth()){ x = bitmap.getWidth() - 120; } if (y + 120 > bitmap.getHeight()){ y = bitmap.getHeight() -120; } // 显示图片的指定区域 image2.setImageBitmap(Bitmap.createBitmap(bitmap,x,y,120,120)); image2.setImageAlpha(alpha); return false; } }); }}
by web开发者 更多相关内容请访问: http://weber.pub/
本文地址: http://weber.pub/安卓笔记18(案例)-图片查看器/327.html
0 0
- 安卓案例-图片浏览器
- 安卓案例——网络图片浏览器
- 安卓案例-简单图片查看器
- 网络图片浏览器案例
- 网络图片浏览器案例
- 网络图片浏览器案例
- 安卓开发_简单图片浏览器
- 无法直接删除安卓图片浏览器中图片
- 安卓学习笔记----瀑布效果图片浏览器-----
- 安卓浏览器看图片,有些模糊,解决方案!
- Android 安卓 案例
- 安卓入门案例
- 安卓案例-计时器
- 安卓文件浏览器
- 安卓打开浏览器
- 【安卓随笔】引入OpenCV进行NDK开发之图片传递(案例:文字水印)
- 安卓案例-霓虹灯效果
- 安卓商品展示案例
- Excel技巧1:将符合要求的多个单元格内容合并到一个单元格
- 安卓案例-计时器
- 转:遇到jQuery 中的 slideUp ,slideToggle和 slideDown 动画重复执行
- Android-res文件夹里的各个图片文件夹与分辨率的关系
- Log4j2介绍和特性实例(一)
- 安卓案例-图片浏览器
- 微信分享时报错 errMsg:config:invalid url domain
- Android快速开发控件---下拉导航菜单
- 多表连接的三种方式详解 HASH JOIN MERGE JOIN NESTED LOOP【2】
- 8面向对象高级--->枚举类
- Log4j2介绍和特性实例(二)--一个实例和初学注意事项(configuration标签中的 status 和 monitorInterval)
- android7新特性:多窗口支持
- 安卓案例-使用QuickContactBadge 关联联系人
- wordpress 优化速度的插件和方法