自定义View(二) 自定义itemClickView
2017-10-12 09:52
176 查看
实现效果如下:
自定义itemClickView
自定义View类实现
自定义View标签
自定义View 布局
自定义View 选择器
自定义View 素材
Activity使用自定义View
欢迎关注微信公众号:程序员Android
公众号ID:ProgramAndroid
获取更多信息
微信公众号:ProgramAndroid
我们不是牛逼的程序员,我们只是程序开发中的垫脚石。
我们不发送红包,我们只是红包的搬运工。
箭头选择器arrow_right_selector.xml
item选择器 listview_item_selector .xml
list_item_bg_light_normal.9.png
list_item_bg_light_pressed.9.png
arrow_right_pressed.png
arrow_right_normal.png
至此,自定义itemClickView已完成。
欢迎关注微信公众号:程序员Android
公众号ID:ProgramAndroid
获取更多信息
微信公众号:ProgramAndroid
我们不是牛逼的程序员,我们只是程序开发中的垫脚石。
我们不发送红包,我们只是红包的搬运工。
点击阅读原文,获取更多福利
自定义itemClickView
自定义View类实现
自定义View标签
自定义View 布局
自定义View 选择器
自定义View 素材
Activity使用自定义View
欢迎关注微信公众号:程序员Android
公众号ID:ProgramAndroid
获取更多信息
微信公众号:ProgramAndroid
我们不是牛逼的程序员,我们只是程序开发中的垫脚石。
我们不发送红包,我们只是红包的搬运工。
1. 自定义View类实现
public class ItemClickView extends RelativeLayout { private static final String TAG = "ItemClickView"; private TextView tv_title; private TextView tv_des; public ItemClickView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); initUI(context); } public ItemClickView(Context context, AttributeSet attrs) { super(context, attrs); initUI(context); } public ItemClickView(Context context) { super(context); initUI(context); } // 单独抽取出来的 xml--->view private void initUI(Context context) { View.inflate(context, R.layout.item_click_view, this); tv_title = (TextView) findViewById(R.id.tv_title); tv_des = (TextView) findViewById(R.id.tv_des); } /** * @param title * 要修改成的标题内容 修改标题的方法 */ public void setTitle(String title) { tv_title.setText(title); } /** * @param des * 描述内容字符串 修改描述内容方法 */ public void setDes(String des) { tv_des.setText(des); } }
2. 自定义View标签
<com.programandroid.CustomView.ItemClickView android:id="@+id/custom_item_click_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/listview_item_selector" />
3. 自定义View 布局
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5dp" > <TextView android:id="@+id/tv_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@android:color/primary_text_light" android:textSize="18sp" /> <TextView android:id="@+id/tv_des" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/tv_title" android:textColor="@android:color/secondary_text_light" android:textSize="14sp" /> <ImageView android:id="@+id/iv_arrow" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:layout_marginRight="10dp" android:background="@drawable/arrow_right_selector" /> </RelativeLayout>
4. 自定义View 选择器
箭头选择器arrow_right_selector.xml<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 按下状态 --> <item android:drawable="@drawable/arrow_right_pressed" android:state_pressed="true"/> <!-- 获取焦点 --> <item android:drawable="@drawable/arrow_right_pressed" android:state_focused="true"/> <!-- 正常状态 --> <item android:drawable="@drawable/arrow_right_normal"/> </selector>
item选择器 listview_item_selector .xml
<?xml version="1.0" encoding="UTF-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 按下去的背景颜色显示效果 --> <item android:drawable="@drawable/list_item_bg_light_pressed" android:state_pressed="true"/> <!-- 获取焦点时背景颜色显示效果 --> <item android:drawable="@drawable/list_item_bg_light_pressed" android:state_focused="true"/> <!-- 没有任何状态下的背景颜色 --> <item android:drawable="@drawable/list_item_bg_light_normal"/> </selector>
5. 自定义View 素材
list_item_bg_light_normal.9.png
list_item_bg_light_pressed.9.png
arrow_right_pressed.png
arrow_right_normal.png
6. Activity使用自定义View
/** * 自定义 ItemClickView */ private void InitItemClickView() { // TODO Auto-generated method stub ItemClickView mItemClickView = (ItemClickView) findViewById(R.id.custom_item_click_view); mItemClickView.setTitle("About Phone"); mItemClickView.setDes("Android 7.0"); mItemClickView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Toast.makeText(getApplicationContext(), "点击自定义View,获取更多内容", 0).show(); } }); }
至此,自定义itemClickView已完成。
欢迎关注微信公众号:程序员Android
公众号ID:ProgramAndroid
获取更多信息
微信公众号:ProgramAndroid
我们不是牛逼的程序员,我们只是程序开发中的垫脚石。
我们不发送红包,我们只是红包的搬运工。
点击阅读原文,获取更多福利
相关文章推荐
- Android 自定义RecyclerView.ItemDecoration(GridLayoutManager布局下)
- android 自定义TextView支持微博功能后在ListView占用了Item点击的解决办法
- 自定义宽高比例的view(轮播图,item等)
- recycleview的 item的自动居中以及自定义左对齐集代码分析
- 自定义RecyclerView的item的点击事件
- 自定义View(四) 自定义ItemToggleView
- RecyclerView 添加 ItemClickListener
- Android 自己动手写ListView学习其原理 3 ItemClick,ItemLongClick,View复用
- listview如果添加的有Headview和Footview,onItemClick数值异常
- RecyclerView 设置 itemclickListener 和 longclicklintener
- recycleview设置itemclick onitemLongclick的方法
- 自定义RecycleView实现TV应用上的item焦点获取以及设置当前选中的item居中
- android 自定义TextView支持微博功能后在ListView占用了Item点击的解决办法
- Android学习自定义View(四)——继承控件(滑动时ListView的Item出现删除按钮)
- RecyclerView基础-数据适配、自定义分割线、上拉加载、下拉加载、item点击事件
- 解决listview的item为自定义viewgroup时,viewgroup子view press时,整个viewgroup都被按下的问题
- RecyclerView 以及 ItemClickListener的实现
- android 自定义TextView支持微博功能后在ListView占用了Item点击的解决办法
- Android学习自定义View(四)——继承控件(滑动时ListView的Item出现删除按钮)
- ItemClick(AdapterView<?> adapterView, View view, int i, long l)中参数