UI基础控件

UI基础控件

基础控件主要是直接或间接的继承了android.view,View类的控件:

  • TextView
  • Button
  • Edittext
  • RadioButton
  • CheckBox
  • ImageView
  • PtogessBar
  • SeekBar
  • RatingBar

-

TextView

Textview是最基本的组件,直接继承了View,也是众多组件的父类,所以此组件是其他一些组件的一个基础。

TextView的属性:

   Android:autoLink  

设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all)
  android:autoText 如果设置,将自动执行输入值的拼写纠正。此处无效果,在显示输入法并输入的时候起作用。
  android:bufferType 指定getText()方式取得的文本类别。选项editable 类似于StringBuilder可追加字符, 也就是说getText后可调用append方法设置文本内容。spannable 则可在给定的字符区域使用样式,参见这里1、这里2。
  android:capitalize 设置英文字母大写类型。此处无效果,需要弹出输入法才能看得到,参见EditView此属性说明。 none不转换,sentence每个句子的首字母大写,words每个单词字母大写,characters每个字母都大写
  android:cursorVisible 设定光标为显示/隐藏,默认显示。
  android:digits 设置允许输入哪些字符。如“1234567890.+-*/% ()”

注意:虽然浏览器存储大部分时候都比较可靠,但为了您的数据安全,在联网后,请务必及时发表或者保存到服务器草稿箱

Button

1button(按钮)

mui默认按钮为灰色,另外还提供了蓝色(blue)、绿色(green)、黄色(yellow)、红色(red)、紫色(purple)五种色系的按钮,五种色系对应五种场景,分别为primary、success、warning、danger、royal;使用.mui-btn类即可生成一个默认按钮,继续添加.mui-btn-颜色值或.mui-btn-场景可生成对应色系的按钮,例如:通过.mui-btn-blue或.mui-btn-primary均可生成蓝色按钮;
普通按钮

在button节点上增加.mui-btn类,即可生成默认按钮;若需要其他颜色的按钮,则继续增加对应class即可,比如.mui-btn-blue即可变成蓝色按钮

默认
蓝色
绿色
黄色
红色
紫色

EditText

对于EditText,在很多平台上都有用到,最大的用处就是供用户输入一些信息,所以主要的方法就两个:

setText():设置TextView控件中显示的内容。
getText() 获取TextView控件中显示的内容。

XML属性 相关方法 说明
android:text setText(CharSequence text) 设置文本内容
android:textColor setTextColor(int color) 字体颜色
android:hint setHint(int resid) 内容为空时候显示的文本
android:textColorHint setHintTextColor(int color) 为空时显示的文本的颜色
android:inputType setInputType(int type) 限制输入类型
android:maxLength 限制显示的文本长度,超出部分不显示
android:minLines setMaxLines(int maxlines) 设置文本的最小行数
android:gravity setGravity(int gravity) 设置文本位置,如设置成“center”,文本将居中显示。
android:drawableLeft setCompoundDrawables(Drawable left,Drawable top,Drawable right, Drawable bottom) 在text的左边输出一个drawable
android:drawablePadding 设置text与drawable(图片)的间隔,与drawableLeft、drawableRight、drawableTop、drawableBottom一起使用,可设置为负数,单独使用没有效果。
android:lines setLines(int lines) 设置文本的行数,设置两行就显示两行,即使第二行没有数据。
android:singleLine setSingleLine() true:单行显示 false:可以多行

ImageView

ImageView是图片控件,用于在屏幕上显示一张图片。可以自己定义显示的尺寸、显示颜色等,其支持的图像格式由gif、jpg、png、bmp等。

ImageView类的继承关系如下:
java.lang.Object
android view.View
android.widget.ImageView

实例代码:
public class CircleImageView extends ImageView {

//基本的三个构造函数
public CircleImageView(Context context) {
    super(context);
}

public CircleImageView(Context context, AttributeSet attrs) {
    super(context, attrs);
}

public CircleImageView(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
}

//自定义View实现过程中很重要的onDraw绘制图形的方法
@Override
protected void onDraw(Canvas canvas) {

    Drawable drawable = getDrawable();
    if (drawable == null) {
        return;
    }
    if (getWidth() == 0 || getHeight() == 0) {
        return;
    }

    if (!(drawable instanceof BitmapDrawable)) {
        return;
    }
    Bitmap b = ((BitmapDrawable) drawable).getBitmap();

    if (null == b) {
        return;
    }

    Bitmap bitmap = b.copy(Bitmap.Config.ARGB_8888, true);

    int w = getWidth();

    Bitmap roundBitmap = getCroppedBitmap(bitmap, w);
    canvas.drawBitmap(roundBitmap, 0, 0, null);

}
public static Bitmap getCroppedBitmap(Bitmap bmp, int radius) {
    Bitmap sbmp;
    if (bmp.getWidth() != radius || bmp.getHeight() != radius)
        sbmp = Bitmap.createScaledBitmap(bmp, radius, radius, false);
    else
        sbmp = bmp;
    Bitmap output = Bitmap.createBitmap(sbmp.getWidth(), sbmp.getHeight(),
            Config.ARGB_8888);
    Canvas canvas = new Canvas(output);

    final Paint paint = new Paint();
    final Rect rect = new Rect(0, 0, sbmp.getWidth(), sbmp.getHeight());

    paint.setAntiAlias(true);
    paint.setFilterBitmap(true);
    paint.setDither(true);
    canvas.drawARGB(0, 0, 0, 0);
    paint.setColor(Color.parseColor("#BAB399"));
    canvas.drawCircle(sbmp.getWidth() / 2 + 0.7f,
            sbmp.getHeight() / 2 + 0.7f, sbmp.getWidth() / 2 + 0.1f, paint);
    paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
    canvas.drawBitmap(sbmp, rect, rect, paint);

    return output;
}

}
“`

ImageButton

ImageButton是一种带有图片的按钮,其继承关系如下

java.lang.Object
android.view.View
android.widget.ImageView
android.widget.ImageButton

ImageButton与ImageView控件的区别在于,后者不接受单击,但前者的事件处理与Button的事件处理是一样的

RadioButton和RadioGroup

RadioButton一般叫做单选按钮,可用于多选一的应用中。多个RadioButton具有互斥性

RadioButton类的继承关系如下:

   java.lang.Object
   android.view.View
   android.widget.TextView
   android.widget.Button
   android.widget.CompoumButton
   android.widget.RadioButton 

RadoiGroup是一个ViewGroup控件,它是一个RadioButton控件的容器,只有发到同一个RadioGroup中的RadioButton控件才可以产生互斥的效果

RadioGroup继承关系如下:

   java.lang.Object
   android.view.View
   android.view.ViewGroup
   android.widget.LinearLayout
   android.widget.RadioGroup

   。

CheckBox

CheckBox一般叫做复选框。多选按钮,通常用于多选的应用

CheckBox的继承关系如下:

   Android:autoLink
   java.lang.Object
   android.view.View
   android.widget.TextView
   android.widget.Button
   android.widget.CompoundButton
   android.widget.CheckBox  

CheckBox默认情况下是未选中状态,如果向修改这个默认值,可以将标签的android.checked属性设置为true

获取CheckBox实例:

   A//获取CheckBox实例
   CheckBox cb = (CheckBox)this.findViewById(R.id.cb);
   //绑定监听器
   cb.setOnCheckedChangeListene
   (new OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
            // TODO Auto-generated method stub
            Toast.makeText(MyActivity.this, 
                    arg1?"选中了":"取消了选中"    , Toast.LENGTH_LONG).show();
        }
    });

ProgressBar

任务或工作的进度是软件中经常需要展现给用户的信息,这些信息载体总是离不开进度条,在android SDK中提供了一个ProgessBar控件,该控件可以向用户展示当前的进度
ProgressBar控件在默认情况下是圆形的进度条,可通过style属性将圆形进度条设为大中小三种形式

示例代码:

   Android:auto
   <ProgressBar  
     android:id="@+id/progressBar1"  
     style="?android:attr/progressBarStyleHorizontal"  
     style="@android:style/Widget.ProgressBar.Horizontal"(等同于@android:attr)  
     android:layout_width="match_parent"  
     android:layout_height="wrap_content" /> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值