自定义View(二) 自定义itemClickView
来源:互联网 发布:非洲儿童举牌 知乎 编辑:程序博客网 时间:2024/05/22 11:56
实现效果如下:
- 自定义View类实现
- 自定义View标签
- 自定义View 布局
- 自定义View 选择器
- 自定义View 素材
- Activity使用自定义View
欢迎关注微信公众号:程序员Android
公众号ID: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 素材
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
获取更多信息
我们不是牛逼的程序员,我们只是程序开发中的垫脚石。
我们不发送红包,我们只是红包的搬运工。
点击阅读原文,获取更多福利
阅读全文
0 0
- 自定义View(二) 自定义itemClickView
- Android 自定义View (二)
- Android 自定义View (二)
- Android 自定义View (二)
- Android 自定义View (二)
- 自定义view(二)
- android 自定义view二
- 自定义view(二)
- 自定义View(二)
- 自定义view(二)
- 自定义View<二>
- 自定义View(二)
- Android自定义View(二)
- 自定义View(二)
- 自定义View二
- Android 自定义View 二
- 自定义View 二
- 自定义View(二)
- cocoaPods的更新
- Leetcode 刷题Day7 404 SumofLeftLeaves 572 Subtree of Another Tree
- 爬虫知识点(requests库)
- 第一次作业答案(非官方)
- !找出重复次数最多的字符
- 自定义View(二) 自定义itemClickView
- Linux编译OpenCV3.2.0-OCL模块并使用
- 折叠面板的思想
- Map 的Key 或 Value 排序
- Java 时间类型的转换 Date、String、Long
- Docker实战:使用Dockerfile创建镜像
- overview_java(十二)-内部类
- MySQL创建一张日期表
- [初学笔记]matlab中主函数和次函数的建立和调用(嵌套与不嵌套),全局变量global与子函数的使用