本文实例为大家分享了Android编辑信息界面,及组合控件的封装,供大家参考,具体内容如下

Github地址(完整Demo,欢迎下载)

效果图

 attrs.xml

<?xml version="1.0" encoding="utf-8"?>                                                            

获取到各属性

private void initAttrs(Context context, AttributeSet attrs) {  //标题的默认字体颜色  int defaultTitleColor = context.getResources().getColor(R.color.item_group_title);  //输入框的默认字体颜色  int defaultEdtColor = context.getResources().getColor(R.color.item_group_edt);  //输入框的默认的提示内容的字体颜色  int defaultHintColor = context.getResources().getColor(R.color.item_group_edt);  TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.ItemGroup);  String title = typedArray.getString(R.styleable.ItemGroup_title);  float paddingLeft = typedArray.getDimension(R.styleable.ItemGroup_paddingLeft, 15);  float paddingRight = typedArray.getDimension(R.styleable.ItemGroup_paddingRight, 15);  float paddingTop = typedArray.getDimension(R.styleable.ItemGroup_paddingTop, 5);  float paddingBottom = typedArray.getDimension(R.styleable.ItemGroup_paddingTop, 5);  float titleSize = typedArray.getDimension(R.styleable.ItemGroup_title_size, 15);  int titleColor = typedArray.getColor(R.styleable.ItemGroup_title_color, defaultTitleColor);  String content = typedArray.getString(R.styleable.ItemGroup_edt_content);  float contentSize = typedArray.getDimension(R.styleable.ItemGroup_edt_text_size, 13);  int contentColor = typedArray.getColor(R.styleable.ItemGroup_edt_text_color, defaultEdtColor);  String hintContent = typedArray.getString(R.styleable.ItemGroup_edt_hint_content);  int hintColor = typedArray.getColor(R.styleable.ItemGroup_edt_hint_text_color, defaultHintColor);  //默认输入框可以编辑  boolean isEditable = typedArray.getBoolean(R.styleable.ItemGroup_isEditable, true);  //向右的箭头图标是否可见,默认可见  boolean showJtIcon = typedArray.getBoolean(R.styleable.ItemGroup_jt_visible, true);  typedArray.recycle();  //设置数据  //设置item的内边距  itemGroupLayout.setPadding((int) paddingLeft, (int) paddingTop, (int) paddingRight, (int) paddingBottom);  titleTv.setText(title);  titleTv.setTextSize(titleSize);  titleTv.setTextColor(titleColor);  contentEdt.setText(content);  contentEdt.setTextSize(contentSize);  contentEdt.setTextColor(contentColor);  contentEdt.setHint(hintContent);  contentEdt.setHintTextColor(hintColor);  contentEdt.setFocusableInTouchMode(isEditable); //设置输入框是否可以编辑  contentEdt.setLongClickable(false); //输入框不允许长按  jtRightIv.setVisibility(showJtIcon ? View.VISIBLE : View.GONE); //设置向右的箭头图标是否可见}

xml布局文件

<?xml version="1.0" encoding="utf-8"?>    

调用的activity

/** * 组合控件封装(提交信息及编辑信息界面及功能) */public class MainActivity extends AppCompatActivity { private Context mContext; private ItemGroup nameIG, idCardIG, birthdayIG, cityIG; @Override protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main);  mContext = this;  initView(); } private void initView() {  nameIG = (ItemGroup) findViewById(R.id.name_ig);  idCardIG = (ItemGroup) findViewById(R.id.id_card_ig);  birthdayIG = (ItemGroup) findViewById(R.id.select_birthday_ig);  cityIG = (ItemGroup) findViewById(R.id.select_city_ig);  birthdayIG.setItemOnClickListener(new ItemGroup.ItemOnClickListener() {   @Override   public void onClick(View v) {    Toast.makeText(mContext, "点击了选择出生日期", Toast.LENGTH_SHORT).show();   }  });  cityIG.setItemOnClickListener(new ItemGroup.ItemOnClickListener() {   @Override   public void onClick(View v) {    Toast.makeText(mContext, "点击了选择城市", Toast.LENGTH_SHORT).show();   }  }); }}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多相关文章

  1. 【Android(安卓)进阶】Iconfont 图标的使用以及自定义
  2. Android里五种 Toast方式
  3. android一个LinearLayout中具有几个控件,想要使那几个控件在Linea
  4. Android实现沉浸式(透明)状态栏适配
  5. Android电子书翻页效果实现
  6. android paint api drawText 绘制字体字形
  7. Android中Paint字体属性的设置
  8. Listview 去除分割线、操作各种默认背景色、刷新到最后等优化
  9. Android中Dialog自带蒙层适配状态栏

随机推荐

  1. PHP获取数组中单列值的方法
  2. 1.仿小米商城 2.预习js变量与基本数据类
  3. axios的使用方式
  4. ES6 箭头函数和this
  5. Form注册表单 选择器权重计算及上下文选
  6. 相对定位、绝对定位、固定定位、粘性定位
  7. ES6 解构赋值
  8. 三分钟!意派Epub360制作高端H5邀请函
  9. 智能名片电子名片小程序源码开发,为什么是
  10. 解构赋值、DOM操作以及dataset和classLis