android 下拉筛选控件,下拉筛选控件

简单实现效果类似如上的美团筛选功能。实现思路如下:根据外层传递进来的list创建顶部下拉条目的个数,并设置按钮互斥,选中样式。下面弹出的筛选列表通过addView的方式添加,增加里面布局的灵活性。可以添加一些筛选列表的弹出动画以增加交互。简单实现代码如下:单个选中控件的实现:import android.content.Context;import android.util.AttributeSe...
摘要由CSDN通过智能技术生成

1460000004857187

简单实现效果类似如上的美团筛选功能。

实现思路如下:根据外层传递进来的list创建顶部下拉条目的个数,并设置按钮互斥,选中样式。下面弹出的筛选列表通过addView的方式添加,增加里面布局的灵活性。可以添加一些筛选列表的弹出动画以增加交互。

简单实现代码如下:

单个选中控件的实现:

import android.content.Context;

import android.util.AttributeSet;

import android.view.LayoutInflater;

import android.view.View;

import android.widget.LinearLayout;

import android.widget.TextView;

/**

* 自定义的筛选器单个view,自处理选中效果,抛出点击事件处理

* Created by ZRP on 2015/9/19.

*/

public class FilterTabView extends LinearLayout implements View.OnClickListener {

private View view;

private TextView text;

private boolean isChecked;

public FilterTabView(Context context) {

super(context);

init();

}

public FilterTabView(Context context, AttributeSet attrs) {

super(context, attrs);

init();

}

private void init() {

View inflate = LayoutInflater.from(getContext()).inflate(R.layout.custom_filter_tabview, this);

inflate.setOnClickListener(this);

view = inflate.findViewById(R.id.view);

text = (TextView) inflate.findViewById(R.id.text);

}

public TextView getText() {

return text;

}

public void setText(String txt) {

text.setText(txt);

}

public void setChecked(boolean isChecked) {

this.isChecked = isChecked;

view.setSelected(isChecked);

}

public boolean isChecked() {

return isChecked;

}

private OnClickListener clickListener;

public void setOnClickListener(OnClickListener clickListener) {

this.clickListener = clickListener;

}

@Override

public void onClick(View view) {

if (clickListener != null) clickListener.onClick(this);

}

public interfac

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值