Android中使用HorizontalScrollView和TableLayout遇到的问题
2011-04-18 15:59
706 查看
今天在做一个控件,想实现的效果是,在一行内显示N个图片(或其他),要求每个图片的间隔是一样的。
之前用LinearLayout来做,里面包含多个ImageView,可是没有达到想要的效果,这个后面再研究下。
今天突然想到用TableLayout来做,之前没有用过这种布局。
最终效果如下:
现将制作过程中遇到的问题列出。
1. 各view不是均匀占着整行。xml如下:
效果为:
很明显这不是我要的效果。
在TableLayout加入属性android:stretchColumns="*"即可。
2. 实现左右拖动
这个控件包含的view有多少个,我无法知道,所以当一行显示不完所有的view时,我需要左右拖动。
于是我用HorizontalScrollView来包含该TableLayout,可是当view个数很少,一行可以放下时,显示的效果如上图一样。
查了API,发现设置HorizontalScrollView的参数android:fillViewport="true" 即可。
最终效果对应的xml为:
之前用LinearLayout来做,里面包含多个ImageView,可是没有达到想要的效果,这个后面再研究下。
今天突然想到用TableLayout来做,之前没有用过这种布局。
最终效果如下:
现将制作过程中遇到的问题列出。
1. 各view不是均匀占着整行。xml如下:
<?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" > <TableRow> <TextView android:text="文字" android:gravity="center" /> <ImageView android:src="@drawable/icon" android:gravity="center" /> <ImageView android:src="@drawable/icon" android:gravity="center" /> <ImageView android:src="@drawable/icon" android:gravity="center" /> <ImageView android:src="@drawable/icon" android:gravity="center" /> </TableRow> </TableLayout>
效果为:
很明显这不是我要的效果。
在TableLayout加入属性android:stretchColumns="*"即可。
2. 实现左右拖动
这个控件包含的view有多少个,我无法知道,所以当一行显示不完所有的view时,我需要左右拖动。
于是我用HorizontalScrollView来包含该TableLayout,可是当view个数很少,一行可以放下时,显示的效果如上图一样。
查了API,发现设置HorizontalScrollView的参数android:fillViewport="true" 即可。
最终效果对应的xml为:
<?xml version="1.0" encoding="utf-8"?> <HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:fillViewport="true" > <!-- android:shrinkColumns="*" --> <TableLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:stretchColumns="*"> <TableRow> <TextView android:text="文字" android:gravity="center" /> <ImageView android:src="@drawable/icon" android:gravity="center" /> <ImageView android:src="@drawable/icon" android:gravity="center" /> <ImageView android:src="@drawable/icon" android:gravity="center" /> </TableRow> </TableLayout> </HorizontalScrollView>
相关文章推荐
- Android 水平加载图片 自定义 HorizontalScrollView,防止一次性加载出现性能问题,防止OOM
- android中使用Baidu Map遇到的问题之:移动Mapview上的放大缩小控件
- 【Android】完美解决HorizontalScrollView和SwipeRefreshLayout放在一起报空指针的问题
- 记录Android开发中使用HorizontalScrollView的坑
- Android_横向滑动菜单, HorizontalScrollView,Fragment,Viewpager结合使用 +pullToRefreshListView
- Android_横向滑动菜单, HorizontalScrollView,Fragment,Viewpager结合使用
- Android中滚动视图(ScrollView、HorizontalScrollView)的使用
- horizontalscrollview的使用过程问题小结
- Android中webview在使用过程中会遇到的一些问题
- Android 解决 HorizontalScrollView 里的内容滑动不全的问题
- android HorizontalScrollView的简单使用
- (原创)android中使用Baidu Map遇到的问题之:移动Mapview上的放大缩小控件
- android textview drawableleft使用时遇到的问题
- Android 解决 ScrollView 嵌入 HorizontalScrollView 后滑动卡顿问题
- Android开发——垂直水平滑动条scrollView和HorizontalScrollView的嵌套使用
- Android 6.0以上系统的 RecyclerView 在HorizontalScrollView或者Scrollview中显示不全问题
- [Android]使用HorizontalScrollView实现广告栏Banner及相关原理分析
- Android中ScrollView和HorizontalScrollView使用详解.
- Android 使用pl.droidsonroids.gif.GifImageView在安卓中显示动图遇到的问题
- 使用开源的PullToRefreshScrollView scrollTo和scrollby遇到的问题