android应用程序开发心得

在android开发过程中如何编码实现背景渐变

Main.java文件

package com.example.start;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.style.BackgroundColorSpan;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.TextView;
public class Main extends Activity {
        // 声明ImageView对象
        ImageView imageView;
        //初始化 ImageView的alpha值
        int image_alpha = 255;
        // Handler对象用来给UI_Thread的MessageQueue发送消息
        Handler mHandler;
        // 线程是否运行判断变量
        boolean isrung = false;
        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main);                
                isrung = true;
                // 获得ImageView的对象
                imageView = (ImageView) this.findViewById(R.id.ImageView01);               
                // 设置imageView的Alpha值
                imageView.setAlpha(image_alpha);
//使imageView充满屏幕
                imageView.setAdjustViewBounds(true);
                // 开启一个线程来让Alpha值递减
                new Thread(new Runnable() {
                    @Override                     
                    public void run() {             
                                    try {
    //让背景效果停留2秒钟
                                            Thread.sleep(2000);
                                            // 更新Alpha值
                                            new Thread(new Runnable() {
                                                @Override                     
                                                public void run() {
                                                        while (isrung) {
                                                                try { //设置线程休眠时间
                                                                        Thread.sleep(100);
                                                                        // 更新Alpha值,调用 updateAlpha()函数
                                                                        updateAlpha();
                                                                } catch (InterruptedException e) {
                                                                        e.printStackTrace();
                                                                }
                                                        }                                        
                                                }                                                
                                        }).start();
                                            
                                    } catch (InterruptedException e) {
                                            e.printStackTrace();
                                    }
                            }                                                                                                        
            }).start();                                
                // 接受消息之后更新imageview视图
                mHandler = new Handler() {
                        @Override
                        public void handleMessage(Message msg) {
                                super.handleMessage(msg);
                                imageView.setAlpha(image_alpha);
                                imageView.invalidate();
                        }
                };
        }        
        // 更新Alpha
        public void updateAlpha() {
//判断alpha的值是否为0
                if (image_alpha - 12 >= 0) {
                        image_alpha -= 12;
                } else {
                        image_alpha = 0;
                        isrung = false;
                }
                // 发送需要更新imageview视图的消息-->这里是发给主线程
                mHandler.sendMessage(mHandler.obtainMessage());
        }
}

main.xml文件

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"  
    > 
<ImageView 
android:id="@+id/ImageView01" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content"
android:maxHeight="1000dp"
android:maxWidth="1000dp"
android:src="@drawable/tu1" 
/> 
</LinearLayout> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值