Android设置Alpha值实现图片渐变效果

 2023-09-09 阅读 17 评论 0

摘要:我们要将一个张图片显示在屏幕上,首先需要创建一个显示图片的对象,在Android 中,这个对象是ImageView对象,然后通过setImageResources 方法来设置要显示的图片资源索引。当然,还可以对图片执行一些其它的操作,比如设置它的Alpha
       我们要将一个张图片显示在屏幕上,首先需要创建一个显示图片的对象,在Android 中,这个对象是ImageView对象,然后通过setImageResources 方法来设置要显示的图片资源索引。当然,还可以对图片执行一些其它的操作,比如设置它的Alpha值等。这里通过一个示例来给大家演示,我们另起一个线程来改变图片的Alpha值。an渐变方向,
1.jpg 

2.jpg 

3.jpg 

Activity01类 
Java代码
  1. package xiaohang.zhimeng;

  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.os.Handler;
  5. import android.os.Message;
  6. import android.widget.ImageView;
  7. import android.widget.TextView;

  8. public class Activity01 extends Activity {
  9. // 声明ImageView对象
  10. ImageView imageView;
  11. // 声明TextView
  12. TextView textView;
  13. // ImageView的alpha值
  14. int image_alpha = 255;
  15. // Handler对象用来给UI_Thread的MessageQueue发送消息
  16. Handler mHandler;
  17. // 线程是否运行判断变量
  18. boolean isrung = false;

  19. @Override
  20. public void onCreate(Bundle savedInstanceState) {
  21. super.onCreate(savedInstanceState);
  22. setContentView(R.layout.main);
  23. isrung = true;
  24. // 获得ImageView的对象
  25. imageView = (ImageView) this.findViewById(R.id.ImageView01);
  26. textView = (TextView) this.findViewById(R.id.TextView01);
  27. // 设置imageView的图片资源。同样可以再xml布局中像下面这样写
  28. // android:src="@drawable/logo"
  29. imageView.setImageResource(R.drawable.logo);
  30. // 设置imageView的Alpha值
  31. imageView.setAlpha(image_alpha);
  32. // 开启一个线程来让Alpha值递减
  33. new Thread(new Runnable() {
  34. @Override
  35. public void run() {
  36. while (isrung) {
  37. try {
  38. Thread.sleep(200);
  39. // 更新Alpha值
  40. updateAlpha();
  41. } catch (InterruptedException e) {
  42. e.printStackTrace();
  43. }
  44. }
  45. }
  46. }).start();
  47. // 接受消息之后更新imageview视图
  48. mHandler = new Handler() {
  49. @Override
  50. public void handleMessage(Message msg) {
  51. super.handleMessage(msg);
  52. imageView.setAlpha(image_alpha);
  53. // 设置textview显示当前的Alpha值
  54. textView.setText("现在的alpha值是:" + Integer.toString(image_alpha));
  55. // 刷新视图
  56. imageView.invalidate();
  57. }
  58. };
  59. }

  60. // 更新Alpha
  61. public void updateAlpha() {
  62. if (image_alpha - 7 >= 0) {
  63. image_alpha -= 7;
  64. } else {
  65. image_alpha = 0;
  66. isrung = false;
  67. }
  68. // 发送需要更新imageview视图的消息-->这里是发给主线程
  69. mHandler.sendMessage(mHandler.obtainMessage());
  70. }
  71. }
布局文件main.xml 
  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  3. android:orientation="vertical" 
  4. android:layout_width="fill_parent" 
  5. android:layout_height="fill_parent" 

  6. <ImageView 
  7. android:id="@+id/ImageView01" 
  8. android:layout_width="wrap_content" 
  9. android:layout_height="wrap_content" 
  10. /> 
  11. <TextView 
  12. android:id="@+id/TextView01" 
  13. android:layout_below="@id/ImageView01" 
  14. android:layout_width="fill_parent" 
  15. android:layout_height="wrap_content" 
  16. android:text="@string/hello" 
  17. /> 
  18. </LinearLayout>
源码下载。    Xh_04_05_Test_01.rar

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/30443.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息