Androd TextView 点击变化效果
来源:互联网 发布:linux ssh远程工具 编辑:程序博客网 时间:2024/06/05 04:06
思路:
1.先自定义一个View
2.判断TextView是否点击,这个时候需要一个Type来标识
先看下自定义View
public class BottonSelectLayout extends LinearLayout { private ArrayList<BottonItem> bottonItems = getResource(); private GridView mGridview; private BottonItem bottonItem; private MlayoutAdapter adapter; private mlayoutClickListener mListener; public interface mlayoutClickListener { public void onItemClick(BottonItem mEntity); } public void setMLayoutClickListener(mlayoutClickListener listener) { mListener = listener; } private void init() { if (isInEditMode()) return; View view = LayoutInflater.from(getContext()).inflate(R.layout.gv, this); mGridview = (GridView) view.findViewById(R.id.gridView); adapter = new MlayoutAdapter(); mGridview.setAdapter(adapter); mGridview.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { if (bottonItem != null) { bottonItem.setType("false"); } bottonItem = bottonItems.get(position); bottonItem.setType("true"); adapter.notifyDataSetChanged(); if (mListener != null) { mListener.onItemClick(bottonItem); } } }); } public BottonSelectLayout(Context context) { super(context); init(); } public BottonSelectLayout(Context context, @Nullable AttributeSet attrs) { super(context, attrs); init(); } public BottonSelectLayout(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); init(); } public class MlayoutAdapter extends BaseAdapter { @Override public int getCount() { return bottonItems.size(); } @Override public BottonItem getItem(int position) { return bottonItems.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = null; if (convertView == null) { convertView = LayoutInflater.from(getContext()).inflate(R.layout.layout_botton_select, null); holder = new ViewHolder(); holder.textView = (TextView) convertView.findViewById(R.id.textview); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } BottonItem entity = getItem(position); holder.textView.setText(entity.getName()); //判断textview是否被点击,true点击,false没点击 if ("true".equals(entity.getType())) { holder.textView.setBackgroundColor(getResources().getColor(R.color.white)); holder.textView.setTextColor(getResources().getColor(R.color.f45d5d)); } else { holder.textView.setBackgroundColor(getResources().getColor(R.color.c4)); holder.textView.setTextColor(getResources().getColor(R.color.white)); } return convertView; } class ViewHolder { TextView textView; } } //如果是后台返回的数据可以在这里接入 public ArrayList<BottonItem> getResource() { ArrayList<BottonItem> list = new ArrayList<BottonItem>(); BottonItem entity = new BottonItem("红烧鱼"); entity.setType("false"); list.add(entity); BottonItem entity1 = new BottonItem("三文鱼"); entity1.setType("false"); list.add(entity1); BottonItem entity2 = new BottonItem("鲤鱼"); entity1.setType("false"); list.add(entity2); return list; }}
public class BottonItem implements Serializable { private String Type;//判断是否点击 private String name; public BottonItem(String name) { this.name = name; } public String getType() { return Type; } public void setType(String type) { Type = type; } public String getName() { return name; } public void setName(String name) { this.name = name; }}
阅读全文
0 0
- Androd TextView 点击变化效果
- textview中点击效果实现,比如点击textview中实现图片和文字的颜色变化(类似于button)
- TextView设置点击效果
- Android:TextView点击效果
- Android TextView点击效果
- Android TextView点击颜色效果
- android自定义TextView点击效果
- Androd中Gallery3D效果
- Android TextView实现点击展开动画效果
- textview 动态改变点击态效果
- 实现TextView中link的点击效果
- ImageView和TextView的background点击效果
- Android背景选择器、Textview点击效果
- android 设置textview边框以及点击效果
- TextView设置selector后,没有点击效果
- android TextView 实现自定义文字点击效果
- 用TextView实现button点击效果
- TextView的点击效果---文字颜色改变
- 【详细资料】NCS8803 HDMI-to-eDP w/ Scaler规格书
- 【Shader】给 Shader 添加遮罩
- 65、SSM框架使用笔记
- 检查PHP脚本的执行效率(xdebug)
- iOS ARC环境下dealloc的使用
- Androd TextView 点击变化效果
- 【Linux网络编程】基于TCP的多线程(pthread)版本最简陋的HTTP服务器
- kotlin汇总7-Coroutines
- Java-高并发探究
- PowerDesigner 16.5 显示右侧工具箱
- Android studio libs引用第三方so库
- 【详细内容】NCS8805 RGB/LVDS-to-eDP w/ Scaler芯片规格书
- 关于ListView、GridView的OnItemClickListener不响应解决
- 直方图