揭秘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); ![]() (编辑:开发网_开封站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |