Android實現(xiàn)圖片瀏覽并改變透明度
更新時間:2020年08月25日 12:35:02 作者:池頭樹
這篇文章主要為大家詳細介紹了Android實現(xiàn)圖片瀏覽并改變透明度,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了簡單的圖片瀏覽器制作,供大家參考,具體內(nèi)容如下
例子中的圖片瀏覽器既可以改變圖片的透明度,也可以根據(jù)用戶在圖片上選定的某一區(qū)域,對其進行顯示,用于查看圖片的局部細節(jié)。

在activity_main.xml中:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:orientation="vertical" android:layout_height="match_parent" tools:context=".MainActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center"> <Button android:id="@+id/btn1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="增大透明度" android:layout_marginLeft="60dp"/> <Button android:id="@+id/btn2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="降低透明度" /> <Button android:id="@+id/btn3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:layout_marginRight="60dp" android:text="下一張" /> </LinearLayout> <ImageView android:id="@+id/image1" android:layout_width="400dp" android:layout_height="280dp" android:layout_gravity="center" android:src="@drawable/zm1" android:scaleType="fitCenter"/> <ImageView android:id="@+id/image2" android:layout_width="120dp" android:layout_height="120dp" android:background="#f0f" android:layout_margin="10dp"/> </LinearLayout>
在MainActivity.java中:
package com.example.test02;
import androidx.appcompat.app.AppCompatActivity;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity {
// 定義訪問圖片的數(shù)組
private int[] images=new int[]{R.drawable.zm1,R.drawable.zm2,R.drawable.zm6,
R.drawable.zm4,R.drawable.zm5};
// 定義默認顯示的圖片
private int current=2;
// 定義圖片的初始透明度
private int alpha=255;
private Button btn1,btn2,btn3;
private ImageView image1,image2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1=findViewById(R.id.btn1);
btn2=findViewById(R.id.btn2);
btn3=findViewById(R.id.btn3);
image1=findViewById(R.id.image1);
image2=findViewById(R.id.image2);
//定義查看下一張圖片的監(jiān)聽器
btn3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
image1.setImageResource(images[++current%images.length]);
}
});
// 為按鈕添加監(jiān)聽器
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//定義改變圖片透明度的方法
if (v==btn1){
alpha+=20;
}
if (alpha>=255){
alpha=255;
}
if (alpha<=0){
alpha=0;
}
//改變圖片的透明度
image1.setImageAlpha(alpha);
}
});
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (v==btn2){
alpha-=20;
}
if (alpha>=255){
alpha=255;
}
if (alpha<=0){
alpha=0;
}
image1.setImageAlpha(alpha);
}
});
image1.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
BitmapDrawable bitmapDrawable= (BitmapDrawable) image1.getDrawable();
// 獲取第一個圖片顯示框中的位圖
Bitmap bitmap=bitmapDrawable.getBitmap();
// 實際大小與第一張圖片的縮放比例
double scale=1.0*bitmap.getHeight()/image1.getHeight();
// 獲取需要顯示圖片的開始點
long x=Math.round(event.getX()*scale);
long y=Math.round(event.getY()*scale);
if (x+120>bitmap.getWidth()){
x=bitmap.getWidth()-120;
}
if (y+120>bitmap.getHeight()){
y=bitmap.getHeight()-120;
}
// 顯示圖片指定區(qū)域
image2.setImageBitmap(Bitmap.createBitmap(bitmap,(int)x,(int)y,120,120));
image2.setImageAlpha(alpha);
return false;
}
});
}
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- Android仿微信發(fā)朋友圈瀏覽圖片效果
- Android實現(xiàn)圖片瀏覽器示例
- Android仿淘寶商品瀏覽界面圖片滾動效果
- Android 開發(fā) 使用WebUploader解決安卓微信瀏覽器上傳圖片中遇到的bug
- Android實現(xiàn)網(wǎng)絡(luò)加載圖片點擊大圖后瀏覽可縮放
- Android仿微信圖片點擊瀏覽的效果
- Android編程實現(xiàn)的超炫圖片瀏覽器
- Android實現(xiàn)點擊WebView界面中圖片滑動瀏覽與保存圖片功能
- Android使用gallery和imageSwitch制作可左右循環(huán)滑動的圖片瀏覽器
- Android編程實現(xiàn)圖片的瀏覽、縮放、拖動和自動居中效果
相關(guān)文章
Android開發(fā)使用RecyclerView添加點擊事件實例詳解
這篇文章主要為大家介紹了Android開發(fā)使用RecyclerView添加點擊事件實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-08-08
快速解決fragment中onActivityResult不調(diào)用的問題
下面小編就為大家?guī)硪黄焖俳鉀Qfragment中onActivityResult不調(diào)用的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04
Android自定義View實現(xiàn)支付寶咻一咻效果
這篇文章主要為大家詳細介紹了Android自定義View實現(xiàn)支付寶咻一咻效果的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-02-02
android 字體顏色選擇器(ColorPicker)介紹
本文將詳細介紹android 字體顏色選擇器(ColorPicker)需要了解更多的朋友可以參考下2012-11-11

