安卓学习-界面-事件-handler

安卓程序运行后,系统会产生一条主线程,如果在主线程里修改UI,则会照成冲突,因此安卓建议用handler来更改UI

1.4张图片定时变换

MainActivity.java

public class MainActivity extends Activity {

    ImageView imageView1;
    int index=0;

    int[] pics=new int[]{R.drawable.pic1,R.drawable.pic2,R.drawable.pic3};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

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

        thread.start();

    }

    Thread thread=new Thread(){
        public void run() {
            try {
                while(true){
                    sleep(1000);
                    hand.sendEmptyMessage(12345);
                }

            } catch (InterruptedException e) {
                // TODO 自动生成的 catch 块
                e.printStackTrace();
            }
        }
    };

    Handler hand=new Handler(){

        public void handleMessage(Message msg) {
            if(msg.what==12345){
                imageView1.setImageResource(pics[index%3]);

                index=index+1;
            }

        }
    };

}

时间: 2025-01-06 02:31:20

安卓学习-界面-事件-handler的相关文章

安卓学习-界面-事件-AsyncTask

异步任务Asynctask完成一个下载 activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height=&quo

安卓学习-界面-View的自定义

android的所有UI控件,都是基于View的,因此特意重点学习了下这个,为后面学习其他控件打下基础. http://www.360doc.com/content/14/0102/12/12050012_342019150.shtml 重新时常用覆盖的方法 package com.example.ddddddd; import android.content.Context; import android.graphics.Canvas; import android.graphics.Rec

安卓学习-界面-布局-RelativeLayout

RelativeLayout相对布局,所有内部的组件都是相对的 XML属性 XML属性 函数 说明 android:gravity setGravity 内部组件的对其方式 android:ignoreGravity setIgnoreGravity 设置哪个组件不受Gravity影响 RelativeLayout.LayoutParams用来设置内部组件的对齐方式 XML属性 说明 android:layout_centerHorizontal 水平居中 android:layout_cent

安卓学习-界面-View和GroupView

所有的界面元素都是继承与View(如:ImageView .Button等),布局继承于GroupView(如:LinearLayout等) view的主要属性,这里直接是xml配置里写了,当然直接通过代码也是可以的 XML属性 相关方法 说明 android:alpha setAlpha(float alpha) alpha值是从0~1的,比如0.5相当于透明50%,并且需要注意的是3.0以下版本没有这个属性,因此只要设置了就相当于不透明,3.0版本以下可以用过view.getBackgrou

安卓学习-界面-布局-LinearLayout

1.常用的xml属性 XML属性 相关方法 说明 android:baselineAligned setBaselineAligned 看不懂什么意思,这个是网上的解释 设置为False将阻止该布局管理器于他的子元素基线对其  android:divider setDividerDrawable(Drawable divider) LinearLayout好像没效果 设置垂直布局时2个按钮之间的分隔线 android:gravity setGravity 组件内部的对齐方式,有如下几种 top

安卓学习-界面-ui-SeekBar

和processbar差不多,只不过他的进度是可以拖动的,直接看效果 activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="f

安卓学习-界面-ui-RatingBar

activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientatio

安卓学习-界面-ui-RadioButton CheckBox

RadioButton  CheckBox 下面例子演示了2个功能,一个是RadioButton选择时的事件,还有一个是Button按钮点击查看这2个控件的属性 XML代码 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_pa

安卓学习-界面-ui-AnalogClock、DigitalClock和Chronometer

AnalogClock传统的时钟,DigitalClock 电子时钟,Chronometer 是计时器 AnalogClockXML属性 XML属性 说明   android:dial 表盘使用的图片   android:hand_hour 时针使用的图片    android:hand_minute 分钟使用的图片   上面的是AnalogClock,增加了一个表盘图片 下面的是DigitalClock <LinearLayout xmlns:android="http://schema