android滑屏

        在android中滑屏是一个非常重要的功能,而在设计程序时,滑屏可以使用多种方式实现。而这里需要掌握的是滑屏的原理,就是在手势操作下,屏幕会自行切换。所以滑屏有两个注意点:1.手势的判别,有的类会自行判断手势,有的累需要外部类帮助判断手势2.屏幕的自行切换,这里可以用于屏幕切换的类有很多,基本都是FrameLayout及其子类,还有其他一些特殊的类,如Scroller,ViewPager,Gallery,ScrollView,HorizontalScrollView等,而这些都是UI类,而有一些如TabActivity,ActivityGroup等的类也是可以用于屏幕切换的,因为他们控制着VIew。(查找屏幕切换类可以在layout文件夹下的图形模式下的XML文件中查找)

        首先有一个重要的类GestureDetector类,也就是手势类。这个类可以用于辨别屏幕上发生什么样的操作,如点击,滑动,长按等。在以前使用ActivityGroup+GestureDetector可以实现滑屏,原理就是利用手势辨别操作,然后切换Activity,这里ActivityGroup是Activity组。现在ActivityGroup是不建议使用的,因为使用Fragment更加高效简洁。当然,还可以结合ViewSwitcher,ImageSwitcher等进行滑屏切换。总的来说GestureDeector手势类可以与很多其他类组合进行操作,但是核心思想就是GestureDetector类用于判断手势。

        FrameLayout及其子类的使用就显得较为简单了,因为他们都是布局类,相当于一个容器,所以在使用时,基本思想就是在他们里面放置UI类,然后使用触发切换屏幕。如:ViewAnimator,ViewFlipper,ViewSwitcher,ImageSwitcher,TextSwitcher,另外,这里FrameLayout的子类中有ScrollView,HorizontalScrollView卷轴类,FragmentTabHost类,以及其他一些很有用的子类。可以将它们看成是FrameLayout加上了一些新方法使用。

        TabActivity其实是Tabhost类加上Activity而已,是ActivityGroup的子类,基本上使用TabActivity就是取得他的Tabhost进行操作而已,同时需要注意TabHost是由不同控件组成的,在UI最上面的组件叫TabWidget,这个组件控制着标签,使用标签TabSpec可以切换显示内容。

        Gallery类是画廊类,使用这个类的使用较为简单,同时这个类并不用使用手势判断,使用Gallery类最关键的一点就是给他添加适配器,这里使用BaseAdapter进行适配,同时在适配器中加进Gallery需要显示的内容。

        ViewPager的使用跟Gallery,ListView等类是一样的,关键就是添加适配器。

        Scroller是VIew平滑滚动的一个helper帮助类,是一个直接继承自Object的类。在自定义View类时,可以使用Scroller作为成员,设置Scroller的滚动并不会使View真的滚动,在重写View的computeScroll()时完成实际的滚动,同时注意需要调用invalidate(),postInvalidate()刷新,不然很难保证调用。总的来说,就是使用Scroller类作为辅助类辅助View进行滚动。

        这里需要注意的是adapter适配器的使用。注意,只有是AdapterView的子类才需要使用Adapter。这里AdapterView的子类使用较多的有Spinner,ListView,GridView,Gallery。Adapter的一般使用自定义BaseAdapter最好,因为可操作性最好,当然也可以使用Adapter的其他子类。而最关键的是,设置适配器其实是为了给所要适配的类添加数据或者View等,以创建所要适配的类的内容。总的来说,就是Adapter就是用于给AdapterView提供内容,这种设计模式使用的是代理模式。

        为什么需要使用Adapter呢?1.适配器绑定了数据源,而数据源的数据一般比较复杂,就像一些网上传入的数据,所以使用适配器可以自动刷新并添加数据,这样就不用每次有了新数据就重新加载添加2.使用适配器可以定制自己的AdapterView的内容形式。所以总的来说,适配器的使用是为了操作多变的数据,所以才会将使用者与被使用数据分离而使用了代理设计模式。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值