一些其他控件、优酷菜单、广告条效果、用Handler发送延时信息实现循环

本文详细介绍了如何在Android应用中实现广告条效果,包括导入第三方库、配置ViewPager控件及使用其关键方法。通过实例演示了如何通过监听器和Handler实现广告条的自动循环滚动。

开关按钮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);

这样,实现了广告条的循环滚动。

STM32电机库无感代码注释无传感器版本龙贝格观测三电阻双AD采样前馈控制弱磁控制斜坡启动内容概要:本文档为一份关于STM32电机控制的无传感器版本代码注释资源,聚焦于龙贝格观测器在永磁同步电机(PMSM)无感控制中的应用。内容涵盖三电阻双通道AD采样技术、前馈控制、弱磁控制及斜坡启动等关键控制策略的实现方法,旨在通过详细的代码解析帮助开发者深入理解基于STM32平台的高性能电机控制算法设计与工程实现。文档适用于从事电机控制开发的技术人员,重点解析了无位置传感器控制下的转子初始定位、速度估算与系统稳定性优化等问题。; 适合人群:具备一定嵌入式开发基础,熟悉STM32平台及电机控制原理的工程师或研究人员,尤其适合从事无感FOC开发的中高级技术人员。; 使用场景及目标:①掌握龙贝格观测器在PMSM无感控制中的建模与实现;②理解三电阻采样与双AD同步采集的硬件匹配与软件处理机制;③实现前馈补偿提升动态响应、弱磁扩速控制策略以及平稳斜坡启动过程;④为实际项目中调试和优化无感FOC系统提供代码参考和技术支持; 阅读建议:建议结合STM32电机控制硬件平台进行代码对照阅读与实验验证,重点关注观测器设计、电流采样校准、PI参数整定及各控制模块之间的协同逻辑,建议配合示波器进行信号观测以加深对控制时序与性能表现的理解。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值