精华内容
下载资源
问答
  • Android如何实现改变图片透明度发布时间:2020-11-07 16:24:13来源:亿速云阅读:99作者:LeahAndroid如何实现改变图片透明度?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这...

    Android如何实现改变图片的透明度

    发布时间:2020-11-07 16:24:13

    来源:亿速云

    阅读:99

    作者:Leah

    Android如何实现改变图片的透明度?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

    例子中的图片浏览器既可以改变图片的透明度,也可以根据用户在图片上选定的某一区域,对其进行显示,用于查看图片的局部细节。

    762751d602b6eed796e8f31ef7adb9b7.png

    在activity_main.xml中:

    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">

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:orientation="horizontal"

    android:gravity="center">

    android:id="@+id/btn1"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:layout_weight="1"

    android:text="增大透明度"

    android:layout_marginLeft="60dp"/>

    android:id="@+id/btn2"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:layout_weight="1"

    android:text="降低透明度" />

    android:id="@+id/btn3"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:layout_weight="1"

    android:layout_marginRight="60dp"

    android:text="下一张" />

    android:id="@+id/image1"

    android:layout_width="400dp"

    android:layout_height="280dp"

    android:layout_gravity="center"

    android:src="@drawable/zm1"

    android:scaleType="fitCenter"/>

    android:id="@+id/image2"

    android:layout_width="120dp"

    android:layout_height="120dp"

    android:background="#f0f"

    android:layout_margin="10dp"/>

    在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如何实现改变图片的透明度问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

    展开全文
  • 主要介绍了Android 背景透明度设置总结,本文通过实例代码给大家介绍的非常详细,感兴趣的的朋友参考下吧
  • 主要介绍了Android实现的可以调整透明度图片查看器,需要的朋友可以参考下
  • 主要为大家详细介绍了Android实现图片浏览并改变透明度,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 在java代码中实现渐变的透明动画 /** * 渐变透明动画的实现 */ public AlphaAnimation getAlphaAnimotion() { /** * 创建 AlphaAnimation 对象 并指定透明渐变的范围 */ AlphaAnimation alphaAnimation = new ...

    XML 的定义方式

    在Java代码中使用Xml动画

    //初始化渐变动画

    Animation animation = AnimationUtils.loadAnimation(this, R.anim.alpha);

    //设置动画监听器

    animation.setAnimationListener(new AnimationListener() {

    @Override

    public void onAnimationStart(Animation animation) {

    }

    @Override

    public void onAnimationRepeat(Animation animation) {

    // TODO Auto-generated method stub

    }

    @Override

    public void onAnimationEnd(Animation animation) {

    //当监听到动画结束时,进行一些操作

    }

    });

    //开始播放动画 (rootView为播放动画的控件)

    rootView.startAnimation(animation);

    在java代码中实现渐变的透明动画

    /**

    * 渐变透明动画的实现

    */

    public AlphaAnimation getAlphaAnimotion() {

    /**

    * 创建 AlphaAnimation 对象 并指定透明渐变的范围

    */

    AlphaAnimation alphaAnimation = new AlphaAnimation(0.0f, 1.0f);

    /**

    * 设置动画执行的时间

    */

    alphaAnimation.setDuration(300);

    /**

    * 设置动画是否在壁纸上运行

    */

    alphaAnimation.setDetachWallpaper(false);

    /**

    * 设置动画执行完毕后所要停留的位置

    */

    alphaAnimation.setFillAfter(true);

    alphaAnimation.setFillEnabled(true);

    alphaAnimation.setFillBefore(true);

    /**

    * 设置动画为线性匀速执行

    */

    alphaAnimation.setInterpolator(new LinearInterpolator());

    /**

    * 设置动画执行重复的次数

    */

    alphaAnimation.setRepeatCount(2);

    /**

    * 设置动画执行重复的模式

    */

    alphaAnimation.setRepeatMode(Animation.RESTART);

    /**

    * 设置动画的执行时间间隔为3秒

    */

    alphaAnimation.setStartOffset(3000);

    /**

    * 设置动画开始的时间

    */

    alphaAnimation.setStartTime(3000);

    alphaAnimation.start();

    return alphaAnimation;

    }

    展开全文
  • Android 设置图片颜色的透明度

    千次阅读 2018-11-20 21:02:22
    Android系统支持的颜色是由4个值组成的,前3个为RGB,也就是我们常说的三原色(红、绿、蓝),最后一个值是A,也就是Alpha。这4个值都在0~255之间。颜色值越小,表示该颜色越淡,颜色值越大,表示该颜色越深。如果RGB...

         Android系统支持的颜色是由4个值组成的,前3个为RGB,也就是我们常说的三原色(红、绿、蓝),最后一个值是A,也就是Alpha。这4个值都在0~255之间。颜色值越小,表示该颜色越淡,颜色值越大,表示该颜色越深。如果RGB都是0,就是黑色,如果都为255,就是白色。Alpha也需要在0~255之间变化。Alpha的值越小,颜色就越透明,Alpha的值越大,颜色就不透明。当Alpha的值为0时,颜色完全透明,完全透明的位图或者图形从View上消失。当Alpha的值为255时,颜色不透明。从Alpha的特性可知,设置颜色的透明度实际上就是设置Alpha值。

     

    1.我们可以根据后台返回的数据来相应的设置图片和文字对应的状态,比如:当一个num数值大于0时,图片显示为正常的颜色,也就是:

    布局中设置:

    <ImageView
                    android:id="@+id/gemstone"
                    android:layout_width="wrap_content"
                    android:alpha="255"
                    android:layout_height="wrap_content"
                    android:src="@drawable/gemstone" />

     或者代码中设置:

      gemstone.setAlpha(255);

    2.当num小于等于0时则设置:图片显示成带有透明度的样子:

    布局中设置:

    <ImageView
                    android:id="@+id/gemstone"
                    android:layout_width="wrap_content"
                    android:alpha="0.5"
                    android:layout_height="wrap_content"
                    android:src="@drawable/gemstone" />

     或者代码中设置:

     gemstone.setAlpha(90);

     

     <LinearLayout
                android:id="@+id/starLl"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_above="@+id/bottomCl"
                android:layout_centerHorizontal="true"
                android:layout_marginBottom="34dp"
                android:gravity="center_horizontal"
                android:orientation="vertical">
    
                <ImageView
                    android:id="@+id/gemstone"
                    android:layout_width="wrap_content"
                    android:alpha="0.5"
                    android:layout_height="wrap_content"
                    android:src="@drawable/gemstone" />
    
                <TextView
                    android:id="@+id/lastHarvestAmount"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="6dp"
                    android:text="@string/mining"
                    android:textColor="#333"
                    android:textSize="9dp" />
            </LinearLayout>

    再举个例子:SeekBar来改变图中颜色的Alpha值(透明度),显示位图的MyView类的代码如下:

    private class MyView extends View
    
        {
    
           private Bitmap bitmap;
    
           public MyView(Context context)
    
           {
    
               super(context);
    
               InputStream is =getResources().openRawResource(R.drawable.image);
    
               bitmap = BitmapFactory.decodeStream(is);
    
               setBackgroundColor(Color.WHITE);
    
           }
    
           @Override
    
           protected void onDraw(Canvas canvas)
    
           {
    
               Paint paint = new Paint();
    
               paint.setAlpha(alpha);
    
               canvas.drawBitmap(bitmap, new Rect(0, 0, bitmap.getWidth(), bitmap
    
                      .getHeight()), new Rect(10, 10, 310, 235), paint);
    
           }
    
        }

    SeekBar:

    public void onProgressChanged(SeekBar seekBar, int progress,
    
               boolean fromUser)
        {
    
           alpha = progress;
    
           setTitle("alpha:" + progress);
    
           myView.invalidate();
    
        }

     

    展开全文
  • 我已经使用以下代码行将图像作为我的Android应用程序的背景:android:background="@drawable/background"我现在想让它透明40%但是在xml文件中这怎么可能?我的exm文件如下所示:xmlns:tools=...

    我已经使用以下代码行将图像作为我的Android应用程序的背景:

    android:background="@drawable/background"

    我现在想让它透明40%但是在xml文件中这怎么可能?我的exm文件如下所示:

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:background="@drawable/background"

    android:alpha="0.6"

    android:orientation="vertical"

    android:padding="30dp"

    android:paddingBottom="@dimen/activity_vertical_margin"

    android:paddingLeft="@dimen/activity_horizontal_margin"

    android:paddingRight="@dimen/activity_horizontal_margin"

    android:paddingTop="@dimen/activity_vertical_margin"

    tools:context=".SecondActivity" >

    android:id="@+id/textView1"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:paddingBottom="5dp"

    android:text="Welcome"

    android:textColor="#292421"

    android:textSize="17sp"

    android:textStyle="bold" />

    android:id="@+id/TextView01"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:gravity="center_vertical"

    android:text="This Android application is used to track and record the movements of a person throughout the university of ulster, Magee Campus. The tracking phase of the application can only be initiated whilst within the campus and off campus tracking is unavailable at this moment in time."

    android:textColor="#292421"

    android:textSize="17sp" />

    android:layout_width="match_parent"

    android:layout_height="wrap_content" >

    android:id="@+id/button1"

    android:layout_width="fill_parent"

    android:layout_height="match_parent"

    android:layout_marginTop="85dp"

    android:layout_weight="1"

    android:background="#E6E6FA"

    android:onClick="tracking"

    android:text="@string/tracking_service" />

    android:layout_width="wrap_content"

    android:layout_height="match_parent"

    android:padding="20dp" >

    android:id="@+id/button2"

    android:layout_width="fill_parent"

    android:layout_height="match_parent"

    android:layout_marginTop="85dp"

    android:layout_weight="1"

    android:background="#E6E6FA"

    android:onClick="help"

    android:text="Help" />

    展开全文
  • Android Alpha 更改图片透明度

    千次阅读 2018-11-25 19:42:24
    文章目录1、功能描述2、代码架构3...实现图片透明度的改变 点击之后 两个图片透明度的改变实现方式不一样 1)一个是加载anmi xml 文件 里定义好的 透明度改变动画 2)一个是再代码里 实例化 animationSet 和 alpha...
  • 主要介绍了Android开发中使用颜色矩阵改变图片颜色,透明度及亮度的方法,涉及Android针对图片的读取、运算、设置等相关操作技巧,需要的朋友可以参考下
  • Android应用源码之安卓图片旋转放大缩写透明度调整例子.zip
  • 两种思路,第一种思路是通过对Bitmap进行操作,将Bitmap的像素值get到一个int[]...第二种思路是通过设置canvas的paint的透明度,然后通过canvas.drawBitmap()来改变View的透明度。具体代码如下:第一种思路:public st...
  • 先看效果图: 第一步:在valuses下面自定义目录:第二步:自定义ImageViewpackage com.jiaruihuademo.myattrimageview;import java.util.Timer;import java.util.TimerTask;...import android.conten...
  • 添加图片到mipmap 第二步 <?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" ....
  • 实现图片点击变换透明度的效果,可以切两张图片,使用选择器实现:那么如果很多图片都需要这个透明度变换的效果,切很多图片,写很多选择器,很不方便。安卓中View设置透明度:在代码中:view.setAlpha(0.5f);在xml...
  • 安卓Android源码——安卓图片旋转放大缩写透明度调整例子.zip
  • android开发设置图片透明度的2种方法

    万次阅读 2015-07-11 09:38:34
     代码中设置: 的在onCreate 方法中加入以下代码,同时setContentView()的参数 修改为该控件, 需要在res目录下新建drawable文件夹,并加入s2图片 ...//设置透明度数值from 0 to 1 iv.setImageResource
  • css设置图片透明度

    2021-08-05 02:44:44
    一条SMS最大字符数,字符数达到多少按MMS处理 1,一条SMS最大字符数 ----------------------------------------- android\frameworks\opt\telephony中 com.android ... java加密解压类库 java压缩类库_支持加密解压....
  • Android 图片(ImageView)设置透明的方法

    千次阅读 2020-04-17 10:23:05
    1 在xml 中设置的方法 ...可以直接使用android:alpha="透明度数值" <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:alpha="0.6" android:src=...
  • Android高级应用源码-安卓图片旋转放大缩写透明度调整例子.zip
  • 概序 : 动画事件写在xml中,然后用AnimationUtils去加载动画事件,再监听动画结束事件,隐藏imageview。 1. player_double_click_animation.xml 动画文件 android:duration="800" android:fromAlpha="0.1
  • Button或者ImageButton的背景设为透明或者半透明半透明透明颜色和不透明度 (alpha) 值以十六进制表示法表示。任何一种颜色的值范围都是 0 到 255(00 到 ff)。对于 alpha,00 表示完全透明,ff 表示完全不透明。...
  • 我对Android编程相当陌生。...我drawFrame()方法包括以下位:如何在Android中使用Canvas来设置位图的不透明度?c = holder.lockCanvas();drawScene(c, paint);holder.unlockCanvasAndPost(c);我drawS...
  • 运用SeekBar来控制图片透明度,含详细注释,适合新手学习。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 38,558
精华内容 15,423
关键字:

安卓图片透明度