加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_开封站长网 (http://www.0378zz.com/)- 科技、AI行业应用、媒体智能、低代码、办公协同!
当前位置: 首页 > 教程 > 正文

揭秘Android界面水平滑动与竖直滑动达成

发布时间:2021-11-25 17:34:15 所属栏目:教程 来源:互联网
导读:自从iphone诞生以来,利用触屏手势进行界面滑动就成了智能机程序的标配界面效果了,如果你的程序还只能用Button进行操作,那实在太out了。 现在,我来向大家介绍Android界面滑动的基本实现方法,并解释其中的一些原理。 下面先说下我将介绍的知识点: 1.Acti

自从iphone诞生以来,利用触屏手势进行界面滑动就成了智能机程序的标配界面效果了,如果你的程序还只能用Button进行操作,那实在太out了。 现在,我来向大家介绍Android界面滑动的基本实现方法,并解释其中的一些原理。
 
下面先说下我将介绍的知识点:
 
1.Activity、Window、View之间的关系;
 
2.利用ViewFlipper、GestureDetector(手势识别)、OnGestureListener,OnTouchListener实现界面水平滑动;
 
3.多 View时的控件绑定;
 
4.利用ScrollVeiw实现界面的竖直滑动。
 
先来说说 Activity、Window、View之间的关系。一些书上在介绍Activity时都说它就是我们看到的界面,这种说法是错的。从Android源代码可以知道,Activity创建时建立了一个PhoneWindow对象,它是我们实现视图的承载模型,它接收View对象后才能显示我们在界面上看到的内容。你可以把setContentView()方法换成
 
getWindow().setContentView(LayoutInflater.from(this).inflate(R.layout.main, null));  
界面仍然能显示,因为这才是界面显示时android实质上调用的方法。我们可以形象的理解为,Activity是个管家,管理着一扇窗户(PhoneWindow),View就是我们想贴到窗户上的窗花纸,一扇窗户自然可以换不同的窗花纸,因此一个Activity可以控制多个界面(View)就是理所当然的事了。
下面我将介绍界面滑动的代码实现。我不想仅靠贴代码和代码旁的几行注释来和大家分享这些经验,因为这种做法不但无法让人明白程序编写的顺序,也不能说明为何要这些变量和函数,它们的作用,以及需要注意的问题和自己的体会。希望大家喜欢我的分享形式。
 
现在开始介绍界面水平滑动的实现。
 
第一步,我们需要得到自己的“窗花纸”。这需要就一个LayoutInflater对象,它能将我们编写的xml格式的layout文件变为界面显示需要的View对象。我们调用LayoutInflater的from()方法,向它传入一个Context对象。
 
// 重点,将Context对象传入LayoutInflater.from()里,得到LayoutInflater对象   
        LayoutInflater factory = LayoutInflater.from(MainActivity.this);  
Inflater的意思是充气,我们应该把它理解为“渲染”。
 
我在layout文件里放了3个布局文件,分别是firstview.xml、secondview.xml和thirdscrollview.xml,里面只放一个TextView和一个Button就可以了。
 
 
 
 
 
然后,我们就可以把这3个xml布局文件变为View对象的窗花纸了。我们调用刚才生成的factory对象的inflate()方法来完成,向里面传入布局资源文件的R资源引用,第二个参数设为null。
 
// 用inflate(渲染)方法将布局文件变为View对象   
        View first = factory.inflate(R.layout.firstview, null);  
        View second = factory.inflate(R.layout.secondview, null);  
        View third = factory.inflate(R.layout.thirdscrollview, null);  

(编辑:开发网_开封站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读