
<merge xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" androID:orIEntation="horizontal"> <TextVIEw androID:ID="@+ID/label" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content"/> <EditText androID:ID="@+ID/edit" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:inputType="text" androID:singleline="true"/></merge>@H_301_4@你可以看到,它只是一个TextVIEw和一个EditText.我希望能够提供属性到我的自定义视图,转发到TextVIEw或EditText.例如
<codeguru.labelededittext.LabeledEditText androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" app:label="@string/label" app:hint="@string/hint"/>@H_301_4@我已经弄清楚如何将这些字符串属性转发到TextVIEw和EditText,代表性地:
TypedArray a = context.gettheme().obtainStyledAttributes(attrs,R.styleable.LabeledEditText,0); try { label.setText(a.getString(R.styleable.LabeledEditText_label)); edit.setHint(a.getString(R.styleable.LabeledEditText_hint)); } finally { a.recycle(); } @H_301_4@现在我也想设置EditText的inputType.如果我创建一个< attr name =“inputType”format =“flag”>标签,我必须填充所有可能的标志值吗?有没有办法重用已经由EditText声明的值?解决方法 你可以得到这个: int[] values = new int[]{androID.R.attr.inputType};TypedArray standardAttrArray = getContext().obtainStyledAttributes(attrs,values);try { minputType = standardAttrArray.getInt(0,EditorInfo.TYPE_NulL);} finally { standardAttrArray.recycle();} 总结 以上是内存溢出为你收集整理的在我的自定义视图中重用一个标准的android属性全部内容,希望文章能够帮你解决在我的自定义视图中重用一个标准的android属性所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)