Android仿天猫搜索历史记录显示自定义布局
来源:互联网 发布:数控折弯机编程方法 编辑:程序博客网 时间:2024/05/20 12:21
Android仿天猫搜索历史记录显示自定义布局
这两天都在弄搜索界面,网上查看了下,参考了下面这位兄弟的:
https://www.oschina.net/question/54100_32893
顺便把图也搬了
这个有个缺点,就是必须全屏,如果下面想添加布局的是不可能了,除非把这个自定义的view限制高度,但是这就不叫自定义了吧。
接着换另一位高手的:
http://blog.csdn.net/zxt0601/article/details/50533658 改的东西就是自定义的view布局,照搬就行,但是还是不行
我这里报错了,params = (MarginLayoutParams) child.getLayoutParams();这行报错了,显示:cannot be cast to android.view.ViewGroup$MarginLayoutParams
然后网上找了答案:
就是把报错的MarginLayoutParams重新构造,然后params也变成LayoutParams 的对象即:
1.params = (LayoutParams ) child.getLayoutParams();
2.还要把generateDefaultLayoutParams方法中设置为自适应WRAP_CONTENT就可以了
3.
public static class LayoutParams extends MarginLayoutParams {
public LayoutParams(Context c, AttributeSet attrs) {
super(c, attrs);
}
public LayoutParams(int width, int height) {
super(width, height);
}
public LayoutParams(ViewGroup.LayoutParams source) {
super(source);
}
public LayoutParams(ViewGroup.MarginLayoutParams source) {
super(source);
}
}
4.把generateLayoutParams方法改了,变成
@Override
public ViewGroup.LayoutParams generateLayoutParams(AttributeSet attrs) {
return new LayoutParams(getContext(), attrs);
}
另外还要添加两个方法
@Override
public ViewGroup.LayoutParams generateLayoutParams(ViewGroup.LayoutParams p) {
return super.generateLayoutParams(p);
}
@Override
public ViewGroup.LayoutParams generateDefaultLayoutParams() {
return new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
}
间隔和距离可以再自定义item中的textview中设置margin或者padding
- Android仿天猫搜索历史记录显示自定义布局
- Android搜索历史记录按权重显示
- Android用AutoCompleteTextView实现搜索历史记录提示
- android 实现 搜索保存历史记录功能
- Android搜索历史记录与自动填充
- Android自定义滑动显示隐藏布局
- Android搜索功能的案例,本地保存搜索历史记录
- Android搜索功能的案例,本地保存搜索历史记录。
- Android实现搜索功能并本地保存搜索历史记录
- Android搜索功能的案例,本地保存搜索历史记录
- Android 一般项目的 搜索功能 历史记录排序实现
- Android 自定义Spinner显示条目与下拉框的布局
- Android自定义Dialog布局listview 实现显示安装的应用
- [Android]自定义一个可以展开显示更多的文本布局
- Android 自定义一个可以展开显示更多的文本布局
- Android自定义格式显示Button的布局思路
- Android 自定义一个可以展开显示更多的文本布局
- 历史记录的搜索
- dataTable 分页失效
- event中的stopPropagation和preventDefault
- vue-cli创建项目的loader问题
- Spring中基于XML文件的方式实现AOP
- List集合
- Android仿天猫搜索历史记录显示自定义布局
- Azure Stack深入浅出2:Azure Stack与Azure的有QoS保证的网络联通实现方法和对比测试
- 1103: [POI2007]大都市meg
- 在外部tomcat中运行spring boot应用
- Map集合
- G
- MySQL创建表 错误代码1064
- java面试题:制造回文字符串
- Spark踩坑记——Spark Streaming+Kafka