Android编程实现图片透明的方法

 更新时间:2017年7月6日 23:19  点击:1694
小编给大家推荐的这篇文章介绍了Android编程实现图片透明的方法,非常实用,有兴趣的同学可以看看

今天弄了一个图片的透明方法。

效果图:

目录结构

main.xml

 

 代码如下 复制代码

<?xmlversion="1.0"encoding="utf-8"?>

<LinearLayoutxmlns:Android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"android:layout_width="fill_parent"

android:layout_height="fill_parent">

  <ImageViewandroid:id="@+id/imageView"android:layout_width="wrap_content"

  android:layout_height="wrap_content"

  android:layout_gravity="center_horizontal"

  android:src="@drawable/icon"/>

  <Buttonandroid:id="@+id/alpha_plus"

  android:layout_width="wrap_content"android:layout_height="wrap_content"

  android:text="透明度增加"android:layout_gravity="center_horizontal"

  />

  <Buttonandroid:id="@+id/alpha_minus"

  android:layout_width="wrap_content"android:layout_height="wrap_content"

  android:text="透明度减少"android:layout_gravity="center_horizontal"

  />

</LinearLayout>

 

TOUMINGDUActivtiy

 

 代码如下 复制代码

importandroid.app.Activity;

importandroid.os.Bundle;

importandroid.os.Handler;

importandroid.view.View;

importandroid.widget.Button;

importandroid.widget.ImageView;

publicclassTOUMINGDUextendsActivity {

  privateImageView imageView=null;

  privateButton alpha_plus=null;//透明度增加

  privateButton alpha_minus=null;//透明度减少

  privateintalpha=255;//记录ImageView的透明度

  Boolean flag=true;

  @Override

    publicvoidonCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    imageView=(ImageView)findViewById(R.id.imageView);

    alpha_plus=(Button)findViewById(R.id.alpha_plus);

    alpha_minus=(Button)findViewById(R.id.alpha_minus);

    alpha_plus.setOnClickListener(listener);

    alpha_minus.setOnClickListener(listener);

  }

  privateView.OnClickListener listener =newView.OnClickListener(){

    publicvoidonClick(View v) {

      //加加

      if(v==alpha_plus){

        alpha+=10;

        if(alpha>255){

          alpha=255;

        }

        imageView.setAlpha(alpha);

      }

      //减减

      if(v==alpha_minus){

        alpha-=10;

        if(alpha<0){

          alpha=0;

        }

        imageView.setAlpha(alpha);

      }

    }

  };

}

 

OK完成....

本文介绍了Android基于ImageView绘制的开关按钮效果示例,非常实用,有兴趣的同学快来看看吧

今天弄了一下用图片绘制开关按钮.

效果图:

还有我两张start图片和stop图片就是上面的图片,到时候大家可以按照自己的图片调用..

Main.xml文件

在xml进入这段代码就ok了。

 

 代码如下 复制代码

<ImageView

  Android:id="@+id/start"

  android:layout_width="150.px"

  android:layout_height="80.px"

  android:src="@drawable/start"

  android:layout_x="120.0px"

  android:layout_y="250.0px"

/>

 

Activity文件

 

 代码如下 复制代码

publicclasstwoextendsActivityimplementsOnClickListener{

privateImageView start =null;// 开始

protectedbooleanisBrewing =false;// 按钮置换

publicvoidonCreate(Bundle savedInstanceState) {

    //设置全屏

    super.onCreate(savedInstanceState);

    requestWindowFeature(Window.FEATURE_NO_TITLE);

    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,      WindowManager.LayoutParams.FLAG_FULLSCREEN);

    setContentView(R.layout.two);

    // 绑定

    start = (ImageView) findViewById(R.id.start);

  start.setOnClickListener(this);

}

//开始

publicvoidstartView(){

Bitmap bmp=BitmapFactory.decodeResource(getResources(), R.drawable.stop);//打开资源图片

    start.setImageBitmap(bmp);

    isBrewing =true;

}

//停止

publicvoidstopView(){

Bitmap bmp=BitmapFactory.decodeResource(getResources(), R.drawable.start);//打开资源图片

    start.setImageBitmap(bmp);

    isBrewing =false;

}

  @Override

  publicvoidonClick(View v) {

    if(v==start){

      if(isBrewing)

        stopView();

      else

        startView();

    }

  }

}

 

ok完成..

本文介绍了Android手势识别器GestureDetector使用详解,非常实用,有兴趣的同学快来看看吧

以前只知道控件的onTouchEvent()事件,它的动作有MotionEvent.ACTION_DOWN、MotionEvent.ACTION_MOVE、MotionEvent.ACTION_UP;今天有个需求,要监听控件的双击、拖动、滑动等事件,这时onTouchEvent()很明显不能满足我们的需求,经多方打听,找到了今天的主角GestureDetector,下面就对它进行简单的学习。

构造方法:

已过时的有2个,不推荐使用。

GestureDetector(GestureDetector.onGestureListener listener);

GestureDetector(GestureDetector.onGestureListener listener,Handler handler);

推荐使用。

 GestureDeterctor(Context context,GestureDetector.onGestureListener listener);

 GestureDeterctor(Context context,GestureDetector.onGestureListener listener,Handler handler);

 GestureDeterctor(Context context,GestureDetector.onGestureListener listener,Handler handler,boolean unused);

参数handler主要用来执行延时操作时使用,参数unused暂时没有使用。

从构成函数可以看出,当我们需要创建一个GestureDetector对象时,必须给它传一个GestureDetector.onGestureListener对象,查看API之后,发现它是个接口(interface),创建GestureDetector.onGestureListener的对象时,必须实现一下几个方法:

1、onDown(MotionEvent e);

      当用户按下时的回调。

2、onFling(MotionEvent e1,MontionEvent e2,float velocityX,float velocityY);

      当用户快速拖动,并离开屏幕时,控件还在滑动的回调。

3、onLongPress(MotionEvent e);

      当用户长按控件时的回调。

4、onScroll(MotionEvent e1,MotionEvent e2,float distanceX,float distanceY);

      当用户拖着控件(控件本身并没有动)滑动时的回调。

5、onShowPress(MotionEvent e);

      当用户按下,还没有执行移动或者抬起的动作的回调。

6、onSingleTapUp(MotionEvent e);

      用户按下,立即抬起,没有做其它动作时的回调。

有了这个监听之后,我们还可以给GestureDetector设置双击监听,使用的方法是:

mGestureDetector.setOnDoubleTapListener(GestureDetector.OnDoubleTapListener onDoubleListener);

参数是双击监听的对象,GestureDetector.OnDoubleTapListener它也是一个接口(interface),创建它的对象时,也必须实现以下几个方法。

1、onDoubleTap(MotionEvent e);

      当用户双击时回调。

2、onDoubleTapEvent(MotionEvent e);

      双击间隔事件的回调。

3、onSingleTapConfirmed(MotionEvent e);

      当用户单击时回调。

上面的两个监听,回调函数都是必须实现,有时候我们不需要监听所有的事件,只对自己感兴趣的事件进行监听,GestureDetector有个内部类帮我们实现此功能GestureDetector.SimpleOnGestureListener,该类实现了GestureDetector.onGestureListener、GestureDetector.onDoubleTapListener、GestureDetector.onContextClickListener这三个接口,并实现了它们的方法,只不过是空实现,在我们需要这三个接口的时候,我们可以创建GestureDetector.SimpleOnGestureListener对象,然后需要监听哪个事件,我们就重写它的哪个方法,下面我把它的所有方法都实现了,其实和上边两个接口实现的方法是一样。

 
 代码如下复制代码
GestureDetector.SimpleOnGestureListener mGestureDetector =newSimpleOnGestureListener(){
  
   @Override
   publicbooleanonSingleTapUp(MotionEvent e) {
    returnsuper.onSingleTapUp(e);
   }
  
   @Override
   publicvoidonLongPress(MotionEvent e) {
    super.onLongPress(e);
   }
  
   @Override
   publicbooleanonScroll(MotionEvent e1, MotionEvent e2,
     floatdistanceX,floatdistanceY) {
    returnsuper.onScroll(e1, e2, distanceX, distanceY);
   }
  
   @Override
   publicbooleanonFling(MotionEvent e1, MotionEvent e2,
     floatvelocityX,floatvelocityY) {
    returnsuper.onFling(e1, e2, velocityX, velocityY);
   }
  
   @Override
   publicvoidonShowPress(MotionEvent e) {
    super.onShowPress(e);
   }
  
   @Override
   publicbooleanonDown(MotionEvent e) {
    returnsuper.onDown(e);
   }
  
   @Override
   publicbooleanonDoubleTap(MotionEvent e) {
    returnsuper.onDoubleTap(e);
   }
  
   @Override
   publicbooleanonDoubleTapEvent(MotionEvent e) {
    returnsuper.onDoubleTapEvent(e);
   }
  
   @Override
   publicbooleanonSingleTapConfirmed(MotionEvent e) {
    returnsuper.onSingleTapConfirmed(e);
   }
     
  };
 

只有理论没有实践,怎么行呢?这里我也写了一个Demo,这个Demo是我从另一篇博客中抄的,文章的内容也是参考他的博客写的,下面会把大神的那篇博客地址贴出来。

本文给大家介绍了Android编程实现启动界面的方法分析,非常实用,有兴趣的同学快看看吧

本文实例讲述了Android编程实现启动界面的方法。分享给大家供大家参考,具体如下:

最近在弄一个程序启动界面程序,在这里贴下代码。解释一下:后面Intent(qidong.this,"写想要跳转的Activity");

效果图:

然后建立一个名字为qidon。

Activity:

 

 代码如下 复制代码

importAndroid.app.Activity;

importandroid.content.Intent;

importandroid.os.Bundle;

importandroid.os.Handler;

publicclassqidongextendsActivity{

  @Override

  publicvoidonCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    newHandler().postDelayed(newRunnable(){// 为了减少代码使用匿名Handler创建一个延时的调用

      publicvoidrun() {

        Intent i =newIntent(qidong.this, Quwenapk.class);//通过Intent打开最终真正的主界面Main这个Activity

        qidong.this.startActivity(i);//启动Main界面

        qidong.this.finish();//关闭自己这个开场屏

      }

    },5000);//5秒,够用了吧

  }

}

 

main.xml代码

 

 代码如下 复制代码

<?xmlversion="1.0"encoding="utf-8"?>

<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"

  android:layout_width="fill_parent"

  android:layout_height="wrap_content"

  android:background="@drawable/qt800x480"

  >

<TextView

  android:id="@+id/qidong"

  android:layout_width="wrap_content"

  android:layout_height="wrap_content"

  android:textSize="15dip"

  android:layout_centerHorizontal="true"

  android:text="程序加载中.."

  android:layout_marginTop="250.dip"

  android:layout_marginLeft="90.dip"

  />

</RelativeLayout>

 

OK这样就可以了。

[!--infotagslink--]

相关文章

  • 使用PHP+JavaScript将HTML页面转换为图片的实例分享

    这篇文章主要介绍了使用PHP+JavaScript将HTML元素转换为图片的实例分享,文后结果的截图只能体现出替换的字体,也不能说将静态页面转为图片可以加快加载,只是这种做法比较interesting XD需要的朋友可以参考下...2016-04-19
  • php 中file_get_contents超时问题的解决方法

    file_get_contents超时我知道最多的原因就是你机器访问远程机器过慢,导致php脚本超时了,但也有其它很多原因,下面我来总结file_get_contents超时问题的解决方法总结。...2016-11-25
  • php抓取网站图片并保存的实现方法

    php如何实现抓取网页图片,相较于手动的粘贴复制,使用小程序要方便快捷多了,喜欢编程的人总会喜欢制作一些简单有用的小软件,最近就参考了网上一个php抓取图片代码,封装了一个php远程抓取图片的类,测试了一下,效果还不错分享...2015-10-30
  • C#从数据库读取图片并保存的两种方法

    这篇文章主要介绍了C#从数据库读取图片并保存的方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2021-01-16
  • Photoshop古装美女图片转为工笔画效果制作教程

    今天小编在这里就来给各位Photoshop的这一款软件的使用者们来说说把古装美女图片转为细腻的工笔画效果的制作教程,各位想知道方法的使用者们,那么下面就快来跟着小编一...2016-09-14
  • Python 图片转数组,二进制互转操作

    这篇文章主要介绍了Python 图片转数组,二进制互转操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-09
  • HTTP 408错误是什么 HTTP 408错误解决方法

    相信很多站长都遇到过这样一个问题,访问页面时出现408错误,下面一聚教程网将为大家介绍408错误出现的原因以及408错误的解决办法。 HTTP 408错误出现原因: HTT...2017-01-22
  • Android子控件超出父控件的范围显示出来方法

    下面我们来看一篇关于Android子控件超出父控件的范围显示出来方法,希望这篇文章能够帮助到各位朋友,有碰到此问题的朋友可以进来看看哦。 <RelativeLayout xmlns:an...2016-10-02
  • ps把文字背景变透明的操作方法

    ps软件是现在非常受大家喜欢的一款软件,有着非常不错的使用功能。这次文章就给大家介绍下ps把文字背景变透明的操作方法,喜欢的一起来看看。 1、使用Photoshop软件...2017-07-06
  • 利用JS实现点击按钮后图片自动切换的简单方法

    下面小编就为大家带来一篇利用JS实现点击按钮后图片自动切换的简单方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2016-10-25
  • intellij idea快速查看当前类中的所有方法(推荐)

    这篇文章主要介绍了intellij idea快速查看当前类中的所有方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-09-02
  • jquery左右滚动焦点图banner图片鼠标经过显示上下页按钮

    jquery左右滚动焦点图banner图片鼠标经过显示上下页按钮...2013-10-13
  • Mysql select语句设置默认值的方法

    1.在没有设置默认值的情况下: 复制代码 代码如下:SELECT userinfo.id, user_name, role, adm_regionid, region_name , create_timeFROM userinfoLEFT JOIN region ON userinfo.adm_regionid = region.id 结果:...2014-05-31
  • js导出table数据到excel即导出为EXCEL文档的方法

    复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta ht...2013-10-13
  • js实现上传图片及时预览

    这篇文章主要为大家详细介绍了js实现上传图片及时预览的相关资料,具有一定的参考价值,感兴趣的朋友可以参考一下...2016-05-09
  • mysql 批量更新与批量更新多条记录的不同值实现方法

    批量更新mysql更新语句很简单,更新一条数据的某个字段,一般这样写:复制代码 代码如下:UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value';如果更新同一字段为同一个值,mysql也很简单,修改下where即...2013-10-04
  • ps怎么制作倒影 ps设计倒影的方法

    ps软件是一款非常不错的图片处理软件,有着非常不错的使用效果。这次文章要给大家介绍的是ps怎么制作倒影,一起来看看设计倒影的方法。 用ps怎么做倒影最终效果&#819...2017-07-06
  • js基础知识(公有方法、私有方法、特权方法)

    本文涉及的主题虽然很基础,在许多人看来属于小伎俩,但在JavaScript基础知识中属于一个综合性的话题。这里会涉及到对象属性的封装、原型、构造函数、闭包以及立即执行表达式等知识。公有方法 公有方法就是能被外部访问...2015-11-08
  • 安卓手机wifi打不开修复教程,安卓手机wifi打不开解决方法

    手机wifi打不开?让小编来告诉你如何解决。还不知道的朋友快来看看。 手机wifi是现在生活中最常用的手机功能,但是遇到手机wifi打不开的情况该怎么办呢?如果手机wifi...2016-12-21
  • PHP 验证码不显示只有一个小红叉的解决方法

    最近想自学PHP ,做了个验证码,但不知道怎么搞的,总出现一个如下图的小红叉,但验证码就是显示不出来,原因如下 未修改之前,出现如下错误; (1)修改步骤如下,原因如下,原因是apache权限没开, (2)点击打开php.int., 搜索extension=ph...2013-10-04