【Android】android的基本UI操作(1)
16lz
2022-06-08
1.在代码中获取控件是采用findViewById,每个空间都有一个唯一的ID
2.为按钮增加点击事件,需要先获取这个按钮空间,按照上面的方法。
mButton = (Button)findViewById(R.id.button1);
然后增加一个回调函数:
mButton.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubLog.v(Tag, "mButton.setOnClickListener onClick");String answer = "这是一个神奇的水晶球";mTextView.setText(answer);mTextView.startAnimation(mFadein);//mImageView.startAnimation(mAnimation);playSound();toast("跳转成功");startAnotherActivity();}});
在res里面新建一个文件夹,叫做anim,然后在里面新建一个Android XML文件,Root Element为scale,然后在里面设置一些属性:
<?xml version="1.0" encoding="utf-8"?><scale android:fromXScale="0" android:toXScale="1" android:fromYScale="0" android:toYScale="1" android:pivotX="50%" android:pivotY="50%" android:duration="1000" xmlns:android="http://schemas.android.com/apk/res/android"> </scale>
然后回到Main里面,先获得图片和动画的控件,当然得先声明:
private ImageView mImageView;private Animation mAnimation;
然后获取控件:
mImageView = (ImageView)findViewById(R.id.imageView1);mAnimation = AnimationUtils.loadAnimation(this, R.anim.zoomin);
最后在按钮点击的回调函数里面写入:
mImageView.startAnimation(mAnimation);
完成
4.给文字增加动态效果(从完全透明到完全显示)
在res里面新建一个Android XML文件,root element为alpha,
<?xml version="1.0" encoding="utf-8"?><alpha android:fromAlpha="0" android:toAlpha="1" android:duration="2000" xmlns:android="http://schemas.android.com/apk/res/android"> </alpha>
然后声明一个Animation类,同时获得控件:
private Animation mFadein;
mFadein = AnimationUtils.loadAnimation(this, R.anim.fadein);
最后在回调函数里面加入:
mTextView.startAnimation(mFadein);
5.增加音效:
在Android平台中音频播放主要有两种方式:
1.SoundPool声音池 —— 适合短促而且对反应速度要求比较高的情况(游戏音效或者按键声等)
2.MediaPlayer媒体播放器——适合比较长且对反映速度要求不高的情况
新建一个文件夹:raw,然后把音效文件拷贝到里面。
在代码里面先声明一个SoundPool的对象,然后声明一个playSound方法:
private void playSound(){mSoundPool = new SoundPool(1, AudioManager.STREAM_MUSIC, 0);int click = mSoundPool.load(this, R.raw.click, 1);mSoundPool.play(click, 1, 1, 0, 1, 1);}
最后在回调函数里面加入playSound()即可;
但是此时你会发现没有音效,这是因为有个特别注意的地方,就是SoundPool的初始化需要在OnCreate里面执行,调用的时候直接执行播放,
我们把
mSoundPool = new SoundPool(1, AudioManager.STREAM_MUSIC, 0);int click = mSoundPool.load(this, R.raw.click, 1);
放到外面,同时需要把click设置为全局变量,就完成了。
更多相关文章
- GifView控件,android显示gif图片
- 安卓开发学习之003 LinearLayout之baseLine详解
- Android怎样添加AT命令
- Android在XML中自定义控件的使用
- Android进阶(十九)AndroidAPP开发问题汇总(三)
- EditText
- Android(安卓)ListView的item点击无响应的解决方法
- Android自定义控件
- android五种布局模式