`
xueyi_lee
  • 浏览: 35798 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Android之AutoCompleteTextView、动画、数组

阅读更多
呵呵,这三者之间其实没啥联系,只是笔者为了学习一些基本知识而把它们放在一起。
AutoCompleteTextView和EditText组件类似,都可以输入文本。但 AutoCompleteTextView组件可以和一个字符串数组或List对象绑定,当用户输入两个及以上字符时,系统将在 AutoCompleteTextView组件下方列出字符串数组中所有以输入字符开头的字符串,这一点和www.google.com.hk的搜索框非常相似;android之动画在此只是试验一下rotate的效果;这里所说的数组是说如何使用资源文件中的数组。

首先,要实现动画功能,必须在res目录下新建anim目录,然后定义自己的动画
rotate_animation.xml
<?xml version="1.0" encoding="UTF-8"?>
<set 
	xmlns:android="http://schemas.android.com/apk/res/android" 
	android:interpolator="@android:anim/accelerate_interpolator"
	android:shareInterpolator="true">
	<rotate
		android:fromDegrees="360"
		android:toDegrees="0"
		android:duration="5000" />
</set>

另外,引用字符串要在res/values目录下新建arrays.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
	<string-array name="items">
		<item>Android</item>
		<item>RIM</item>
		<item>iOS</item>
		<item>Google</item>
		<item>手机</item>
		<item>手机操作系统</item>
	</string-array>
</resources>

布局文件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="match_parent"
    android:layout_height="match_parent"
    >
    <TextView
	    android:id="@+id/myTextView01"
	    android:layout_width="match_parent" 
	    android:layout_height="wrap_content"
	    android:text="@string/myEditText01_text"
	    android:textColor="@color/blue"
	    android:textSize="20px" />
	<Button
	    android:id="@+id/myButton01"  
	    android:layout_width="200px" 
	    android:layout_height="wrap_content"
	    android:text="@string/button_text"
	    android:background="@color/button_color"
	    android:textSize="18px" />
	<ImageView
		android:id="@+id/ImageView01"
		android:layout_width="match_parent" 
	        android:layout_height="wrap_content" />
	<AutoCompleteTextView
		android:id="@+id/AutoCompleteTextView01"
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:completionThreshold="1"//开始关联的字符数
		android:lines="1" />//设置行数
</LinearLayout>

最后,附上源代码:MyRotateAnimation.java
package com.lee.animation;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.widget.ImageView;

public class MyRotateAnimation extends Activity implements OnClickListener {
	private Button myButton = null;
	private ImageView myImageView = null;
	private Animation an = null;
	private AutoCompleteTextView actv = null;
	
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		myButton = (Button) findViewById(R.id.myButton01);
		myButton.setOnClickListener(this);
		
		actv = (AutoCompleteTextView)findViewById(R.id.AutoCompleteTextView01);

//获得资源文件的字符数组
		String[] items = getResources().getStringArray(R.array.items);

//声明一个适配器
		ArrayAdapter<String> aa = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, items);
		actv.setAdapter(aa);
	}

	@Override
	public void onClick(View v) {
		myImageView = (ImageView)findViewById(R.id.ImageView01);

//设置ImageView控件的图片
		myImageView.setImageResource(R.drawable.lee);

//从资源文件中获得Animation对象
		an = AnimationUtils.loadAnimation(this,R.anim.rotate_animation);

		myImageView.startAnimation(an);
	}

}

效果图如下所示
  • 大小: 25.6 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics