欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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í)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論