【Android】android的基本UI操作(1)


1.在代码中获取控件是采用findViewById,每个空间都有一个唯一的ID


2.为按钮增加点击事件,需要先获取这个按钮空间,按照上面的方法。

mButton = (Button)findViewById(R.id.button1);

然后增加一个回调函数:

mButton.setOnClickListener(new View.OnClickListener() {
			
	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		Log.v(Tag, "mButton.setOnClickListener onClick");
		String answer = "这是一个神奇的水晶球";
		mTextView.setText(answer);
		mTextView.startAnimation(mFadein);
	//	mImageView.startAnimation(mAnimation);
				
		playSound();
		toast("跳转成功");
		startAnotherActivity();
	}
});



3.给图片增加动画效果:

在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设置为全局变量,就完成了。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值