很多Android应用开发者可能习惯了常见的ListView和GirdView其实,Google还提供了一些不错的UI控件,丰富了Android应用的UI显示,只要了解View和Adapter之间的关系,相信你可以很方便的了解每个种控件的使用和扩展,今天Android123一起来谈下,鲜为人知的Android UI控件。
1. SlidingDrawer 抽屉式滑动控件
在Android 1.x时代,功能表是通过Home Screen底部的一个按钮,可以拖拉出来一个View,这种控件其实Android上从1.5开始加入,使用时直接在layout中定义即可,xml布局代码如下: 当然了下面的match_parent就是fill_parent在2.2中被重命名了
<SlidingDrawer
android:id="@+id/drawer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:handle="@+id/handle"
android:content="@+id/content">
<ImageView
android:id="@id/handle"
android:layout_width="88dip"
android:layout_height="44dip" />
<GridView
android:id="@id/content"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</SlidingDrawer>
有关控制,大家可以看下Android 1.5或1.6的Launcher源码,这里SlidingDrawer主要实现了voidsetOnDrawerCloseListener(SlidingDrawer.OnDrawerCloseListener onDrawerCloseListener) 和
voidsetOnDrawerOpenListener(SlidingDrawer.OnDrawerOpenListener onDrawerOpenListener) 以及 voidsetOnDrawerScrollListener(SlidingDrawer.OnDrawerScrollListener onDrawerScrollListener)
这三个接口,可以获取抽屉控件的打开,关闭和拉动,同时本类提供了很多方法,详细的大家可以在Android SDK中的android.widget.SlidingDrawer分支查看
2. PopupWindow 气球提示控件
有关PopupWindow可以让我们想起Android刚刚开始有输入法框架的时候,当用户按下屏幕软键盘时,弹出的气球提示,这个View可以用PopupWindow来实现,PopupWindow比较方便的就是可以浮动在一个Activity中,设置成为透明或什么可以当做工具栏来使用。具体的大家可以翻看GIT代码中有关Android输入法的代码了解。
3. HorizontalScrollView 水平滚动容器
如果我们想实现一个类似Visual C++中的GridCtrl表格控件时,可能发现ListView可以上下滚动,但水平滚动遇到了些问题,其实在HorizontalScrollView中套嵌ListView即可,不过这里Android123要说的是由于ListView和ScrollView的内部存在一些冲突,我们需要派生ListView类,重写下onMeasure(int, int)方法,修改下显示范围即可,正常实现。

转自:http://www.eoeandroid.com/thread-39987-1-15.html

更多相关文章

  1. android TextView设置霓虹灯效果
  2. 《Android经验分享》周刊第4期
  3. android 自定义控件学习之三 控件布局常用知识总结
  4. Android之打造ListView的万能适配器
  5. Android中UI设计的一些技巧!!!
  6. android 创建自定义模态框
  7. 将服务器端字符读取至android的文本控件,换行符变成了黑方块的原
  8. Android预定义样式?android:attr/attribute、?attr/attribute和?
  9. 获取Android短信草稿箱号码为空的解决办法

随机推荐

  1. 1. android帧动画
  2. Android的水平进度条和圆形进度条实例
  3. android webclient使用
  4. Android 浏览图片层叠放大效果(CoverFlow)
  5. Android(安卓)Chromium WebView学习启动
  6. Android Init Language
  7. Android RecyclerViewStickyHeaders 使用
  8. android 多款按钮样式
  9. Learning about Android Graphics Subsys
  10. Android UserManager: Check if user is