自定义控件之带标签的文本编辑框(不带命名空间)
来源:互联网 发布:淘宝网店铺介绍范文 编辑:程序博客网 时间:2024/05/09 12:29
package com.myself.custom.view;import android.content.Context;import android.util.AttributeSet;import android.view.LayoutInflater;import android.widget.LinearLayout;import android.widget.TextView;import com.myself.custom.activity.R;/** * @文件名 LableEditText.java * @类说明 (自定义文本编辑组合控件) * @作者 xxxx * @版本 v_1.0 * @创建时间 2014-3-19 上午10:56:24 */public class LableEditText extends LinearLayout {private TextView textView;private String lableText;private int labelFontSize;private String lablePosition;public LableEditText(Context context, AttributeSet attrs) {super(context, attrs);//获得属性为lableText的资源ID,默认资源ID为0int resourceId = attrs.getAttributeResourceValue(null, "lableText", 0);if(resourceId == 0){//表示 lableText 是字符串不是资源IDlableText = attrs.getAttributeValue(null, "lableText");}else{//表示lableText 是资源ID不是字符串//获取资源文件中值lableText = getResources().getString(resourceId);}//如果lableText属性没有设置,则抛出异常if(lableText == null){throw new NullPointerException("lableText必须设置属性值");}resourceId = attrs.getAttributeResourceValue(null, "labelFontSize", 0);if(resourceId == 0){labelFontSize = attrs.getAttributeIntValue(null, "labelFontSize", 0);}else{labelFontSize = getResources().getInteger(labelFontSize);}if(labelFontSize == 0){throw new IllegalArgumentException("labelFontSize 必须的值必须大于0");}resourceId = attrs.getAttributeResourceValue(null, "lablePosition", 0);if(resourceId == 0){lablePosition = attrs.getAttributeValue(null, "lablePosition");}else{lablePosition = getResources().getString(resourceId);}System.out.println("lablePosition---" + lablePosition);LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);if("horizontal".equals(lablePosition)){inflater.inflate(R.layout.textview_horizontal_layout,this);}else if("vertical".equals(lablePosition)){inflater.inflate(R.layout.textview_vertical_layout,this);}else{throw new IllegalArgumentException("lablePosition 的值只有 horizontal、vertical两种");}textView = (TextView)findViewById(R.id.lableText_text);textView.setText(lableText);textView.setTextSize(labelFontSize);}}
0 0
- 自定义控件之带标签的文本编辑框(不带命名空间)
- 自定义控件之带图片的TextView(带命名空间)
- xml不带命名空间的序列化
- 自定义标签之带属性的自定义标签
- JSP的自定义标签(三)之带标签体的标签
- 自定义标签之 带Body的标签库
- javaweb之自定义标签——带属性的标签
- 自定义标签(3)带标签体的标签
- 带属性的自定义标签
- 带属性的自定义标签
- 带属性的自定义标签
- C#处理带命名空间的XML
- XPathDocument 读取带命名空间的节点
- dom4j 解析带命名空间的XML
- 操作带 命名空间的xml
- 带命名空间的返回值类型
- 自定义标签(带属性)
- android 自定义控件总结(不自带xml文件)
- 【session与cookie】session内部执行流程剖析
- 华为入职前测试:大数相乘
- 导致全表扫描的SQL
- GSC3280的ADC子系统驱动模型(二)
- ObQueryNameString的使用--WD笔记
- 自定义控件之带标签的文本编辑框(不带命名空间)
- Search a 2D Matrix
- 高效SQL语句必杀技
- 格式控制符之%m.nf
- 调试lldb命令常用
- GSC3280的ADC子系统驱动模型(三)----class的使用
- Javascript函数名download与Firefox冲突,不能执行
- object-c快速入门
- JS 时间与时间戳