91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android如何實現改變圖片的透明度

發布時間:2020-11-07 16:24:13 來源:億速云 閱讀:449 作者:Leah 欄目:開發技術

Android如何實現改變圖片的透明度?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

例子中的圖片瀏覽器既可以改變圖片的透明度,也可以根據用戶在圖片上選定的某一區域,對其進行顯示,用于查看圖片的局部細節。

Android如何實現改變圖片的透明度

在activity_main.xml中:

<&#63;xml version="1.0" encoding="utf-8"&#63;>
<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 {
//  定義訪問圖片的數組
  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);
    //定義查看下一張圖片的監聽器
    btn3.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        image1.setImageResource(images[++current%images.length]);
      }
    });
//    為按鈕添加監聽器
    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;
        }
//        顯示圖片指定區域
        image2.setImageBitmap(Bitmap.createBitmap(bitmap,(int)x,(int)y,120,120));
        image2.setImageAlpha(alpha);
        return false;
      }
    });


  }
}

關于Android如何實現改變圖片的透明度問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

根河市| 榆林市| 荆门市| 天等县| 潜山县| 灵武市| 台安县| 台中县| 辽中县| 凉城县| 冀州市| 宿州市| 永福县| 涪陵区| 张家港市| 奉贤区| 徐闻县| 商河县| 工布江达县| 宝坻区| 金川县| 怀远县| 徐闻县| 乳源| 鹤山市| 乌鲁木齐市| 合作市| 右玉县| 上犹县| 朝阳县| 旬邑县| 共和县| 花莲市| 沂源县| 泰宁县| 长葛市| 方山县| 宾川县| 嘉兴市| 黔南| 德安县|