关于自定义组合控件以及自定义view
2015-12-21 17:20
399 查看
Thought:
1.先写一个组合布局文件
2.自定义一个View并继承布局文件的根布局
3.把写好的布局给自定义的view
4.写一个暴露布局文件的得接口方法
5.在使用的布局文件中拷贝自定义view的文件路径
下面就直接上代码:
first:
传承者(Inheritors)欢迎各位纠正错误,评论,吐槽!!!
1.先写一个组合布局文件
2.自定义一个View并继承布局文件的根布局
3.把写好的布局给自定义的view
4.写一个暴露布局文件的得接口方法
5.在使用的布局文件中拷贝自定义view的文件路径
下面就直接上代码:
first:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/lin_home_content_part" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerHorizontal="true" > <ImageView android:id="@+id/iv_attendance" android:layout_width="40dp" android:layout_height="40dp" android:layout_marginTop="10dp" android:layout_marginLeft="10dp" android:src="@mipmap/home_attendance" android:layout_centerVertical="true" android:paddingRight="10dp"/> <TextView android:id="@+id/txt_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:layout_toRightOf="@id/iv_attendance" android:text="考勤" android:textSize="16sp" /> <View android:layout_width="match_parent" android:layout_height="0.5dp" android:layout_below="@id/iv_attendance" android:layout_toRightOf="@id/iv_attendance" android:background="#d2d2d2" /> </RelativeLayout>
second:
import android.content.Context; import android.util.AttributeSet; import android.view.View; import android.widget.ImageView; import android.widget.RelativeLayout; import android.widget.TextView; public class HomeItemContentView extends RelativeLayout { private ImageView mHomeIv;//主页内容图片 private TextView mHomeTxt;//主页内容标题 public HomeItemContentView(Context context) { super(context); initView(); } public HomeItemContentView(Context context, AttributeSet attrs) { super(context, attrs); initView(); } public HomeItemContentView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); initView(); } /** * 初始化布局 */ private void initView() { //将自定义好的布局文件设置给当前的SettingItemView View.inflate(getContext(), R.layout.home_content_part, this); mHomeIv = (ImageView) findViewById(R.id.iv_attendance); mHomeTxt = (TextView) findViewById(R.id.txt_title); } /** * 设置图片 * @param ImageId */ public void setHomeContentImage(int ImageId){ mHomeIv.setImageResource(ImageId); } /** * 设置标题 * @param title */ public void setHomeContentTitle(String title){ mHomeTxt.setText(title); } }
third:
<com.energy.mytest.HomeItemContentView android:id="@+id/home_vote" android:layout_width="match_parent" android:layout_height="wrap_content" /> <com.energy.mytest.HomeItemContentView android:id="@+id/home_permissions" android:layout_width="match_parent" android:layout_height="wrap_content" />
传承者(Inheritors)欢迎各位纠正错误,评论,吐槽!!!
相关文章推荐
- Linux下socket ssl编程
- 如何把App放在服务器上供用户下载
- 八大常见内排序java实现
- Delphi中调用API函数经验点滴
- Why am I getting an error converting a Foo** → const Foo**?
- 性能调优案例分享:jvm crash的原因 1
- iOS优于Android的8大直观理由
- 使用javamail实现邮件发送功能完整代码
- 修改searchView属性
- 设计模式总结
- js实现仿微博滚动显示信息的效果
- excle转json
- 老李分享:JVM调优
- Delphi中调用API函数经验点滴
- eclipse连接mysql ping失败
- 字符串处理-字符串和整数之间的转换
- js解决两个数相加的问题
- swift禁止横屏
- Android命令Monkey压力测试,详解
- ImageView的scaleType属性