开关按钮ToggleButton:
ToggleButton的状态只能是选中和未选中,并且需要为不同的状态设置不同的显示文本。
时钟控件AnalogClock和DigitalClock:
AnalogClock用于显示模拟时钟,只显示时钟和分针。
DigitalClock用于显示数字时钟,可精确到秒。时钟控件比较简单,只需要在布局文件中声明即可。
日期选择器DatePicker和时间选择器TimePicker:
日期选择器控件的主要功能是向用户提供包含年月日的日期数据,并允许用户对其修改。如果要捕获这个修改,可以为DatePicker的init方法添加onDateChangedListener监听器。
时间选择器控件向用户显示一天中的时间,可以为24小时制,可以为AM/PM制,并允许用户进行修改。如果要捕获这个修改,需要为TimePicker添加setOnTimeChangedListener监听器。
优酷菜单:
如果想在某个图片上放置一些图标的话,可以让这个图片作为相对布局的背景。
menu键的监听:
重写onKeyDown(int keyCode, KeyEvent event)方法,判断keyCode是否等于KeyEvent.KEYCODE_MENU。
广告条效果:
广告条效果需要用到ViewPager控件,在使用时,我们需要导入第三方jar包android-support-v4.jar。这是谷歌提供的,这个包里有Fragment、ViewPager等控件。
在eclipse中创建Android项目时默认导入的有该jar包,但是在Android Private Libraries中打开ViewPager.class文件,没有显示关联源码的按钮,需要我们在Android Private Libraries上右键Build Path,再Remove from Build Path删除后,在libs目录下重新手工Add to Build Path。再关联源码,关联源码时选择External Folder,然后路径是:sdk/extras/android/support/v4/src/java。
导入第三方jar包时都需要做的事是:
在工程属性的Java Build Path中的Order and Export中勾选中导入的jar包。
之后,在布局文件中定义ViewPager时需要用全路径名android.support.v4.view.ViewPager声明控件。如:
<span style="font-size:18px;"><android.support.v4.view.ViewPager
android:id="@+id/vp"
android:layout_width="fill_parent"
android:layout_height="400dp" /></span>ViewPager的使用跟ListView相似,也需要用vp.setAdapter(new 内部类);这里的内部类需要继承PagerAdapter。
继承PagerAdapter的内部类默认实现getCount()和isViewFromObject()两个方法,另外还必须重写PagerAdapter类中的instantiateItem()和destroyItem()方法。
ViewPager的运行机制:
系统刚开始只创建0、1两个页面,当滑动到1页面时,系统创建页面2,滑动到页面2时,系统先回收0页面,再创建3页面,之后一直保持当前页面和当前页面左右两个页面,其他页面均回收。
其中,
instantiateItem(ViewGroup container, int position)方法是在container相应的位置上的添加一个view,container是view的容器,也就是ViewPager自身;position是相应的位置。返回值是Object类型,一般我们直接返回添加的view。
destroyItem(ViewGroup container, int position, Object object)方法是销毁对应位置上的object。container.removeView((view)object);object = null;
getCount()方法是获得页面的总数。
isViewFromObject(View view, Object object)方法是判断view和instantiateItem()方法返回的Object对象的对应关系。我们可以直接返回view == object。
如果想根据页面的不同设置TextView显示不同的文本内容,可以给ViewPager设置监听器:
vp.setOnPageChangeListener( new OnPageChangeListener(){
实现3个未实现的方法:
onPageSelected(int position)在页面切换后调用此方法,position是新的页面的位置。改变文本、改变指示点的方法可以写在此方法中。
onPageScrolled()页面正在滑动时调用此方法,用的不多。
onPageScrollStateChanged()滑动状态改变时调用此方法,用的不多。
});
为实现双向循环滑动,可以设置ViewPager的当前显示页面为很大的一个数:
vp.setCurrentItem(Integer.MAX_VALUE/2 - Integer.MAX_VALUE/2%list.size());
Handler实现广告条的自动滑动:
private boolean isRunning;
private Handler handler = new Handler(){
public void handleMessage(Message msg){
vp.setCurrentItem(vp.getCurrentItem() + 1);
if(isRunning)
handler.sendEmptyMessageDelayed(0,2000);
}
};
在发送handler消息时,如在onCreate方法中发送,
令isRunning为true,handler.sendEmptyMessageDelayed(0,2000);
这样,实现了广告条的循环滚动。
本文详细介绍了如何在Android应用中实现广告条效果,包括导入第三方库、配置ViewPager控件及使用其关键方法。通过实例演示了如何通过监听器和Handler实现广告条的自动循环滚动。
3331

被折叠的 条评论
为什么被折叠?



