十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
本文实例为大家分享了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(); } }); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。