Android-UI控件

1.基本控件介绍

Android的SDK中定义了一个View类,它是所有Android控件和容器

的父类。《View和ViewGroup》。

View和ViewGroup的概念

View:Android中所有控件的顶层基类

ViewGroup:是View的子类,代表一个View的容器,可以用于存放

其他View对象

布局类(就是ViewGroup类的子类)

不同的布局管理内部空间的方式不一样

线性布局(LinearLayout):是按照线性排列(横向、纵向)的

方式对内部控件的位置进行管理

常用属性:android:orientation=“vertical”[ horizontal]

2.View类的常用属性:


android:id 设置控件的标识符号
android:layout_width 设置子组件的布局宽度

android:layout_height 设置子组件的布局度

android:background 设置控件的背景色

android:onClick 设置控件的单击事件绑定监听器

android:visibility 设置控件是否可见

(invisible/visible/gone<不可见,不占位>

tv_name.setVisibility(View.VISIBLE);)

android:alpha 设置控件透明度(0-1之间的数值)

android:padding 设置子组件的内边距

android:layout_margin 设置子组件的外边距

android:onClick 为控件设置点击事件对应的回调方法

android:layout_width

android:layout_height

属性值:
1)具体的长度
2)wap_content, 包裹内容(根据内容的大小调整控件的大小)
3)fill_parent:填充父控件(从Android2.1开始被match_parent

替代)4)match_parent:填充父控件

PS:以上两个属性是任何一个控件都必须要设置的,并且长度单

位推荐使用:dp常用的基本控件

3.TextView

TextView:基本文本标签,用于展示一个简单文本

常用属性:

android:text:文本的内容
android:textSize:文字的大小
android:textColor:文本的颜色《#RGB

#ARGB

#RRGGBB

#AARRGGBB
android:textColor="@android:color/holo_green_light"

android:gravity:控制控件内容的位置

android:drawableXXX:在控件中放置图片

android:autoLink:设置超链接

需要了解的属性:

android:shadowDx -------阴影的横坐标偏移

android:shadowDy------- 阴影的纵坐标偏移

android:shadowRadius-------- 阴影的半径

android:shadowColor--------- 阴影的颜色

android:textAllCaps-------所有字母大写

android:password ------------将文字设置为密文

代码操作法:

//在代码中修改TextView的文本内容

//根据id在当前的页面中寻找控件
tv_name = (TextView)this.findViewById(R.id.tv_name);

//设置文本的内容,大多数情况下,一个控件在布局中设置的属

性都有对应的方法可以在代码中去设置
tv_name.setText(“修改了,文件的文本!”);

//

              tv_name.setTextColor(Color.BLUE);       

                  tv_name.setTextColor

(Color.parseColor("#FF0000"));

          tv_name.setTextSize(30);

使用TextView实现跑马灯效果
需要
设置以下属性:
android:singleLine=“true”

android:ellipsize=“marquee” //跑马灯效果

android:focusable=“true”//让控件可获取焦点

android:focusableInTouchMode=“true” // 让控件在触摸模式下

获取焦点

可选的属性:android:marqueeRepeatLimit //文本滚动的次数

属性值:-1或marquee_forever,代表无限滚动

具体的滚动次数(比如设置为2)

使用跑马灯的前提:
1)文本内容必须要超出控件的宽度
2)必须单行显示

android:singleLine=“true”

android:maxEms=“8”

android:ellipsize=“end”

android:singleLine=“true”

android:ellipsize=“end”

android:ems=“15”

设置TextView的行间距、行高。

1、android:lineSpacingExtra?
设置行间距,如”8dp”
2、android:lineSpacingMultiplier?
设置行间距的倍数,

如”1.5″

设置每行的最大字数

maxLength和固定15个字的宽度或代码控制加\n

android:singleLine=“false”.

android:maxEms

setText(Html.fromHtml()

关于文本颜色的操作代码设置:

private void setText(TextView t){
String text =t.getText().toString().trim();

SpannableStringspan = new SpannableString(text);

span.setSpan(new ForegroundColorSpan(Color.WHITE), 0,

1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

t.setText(span);

}

tv_lingqu_tishi.setTextColor(Color.parseColor

("#ffffff"));

Button 按钮

继承自TextView,具有TextView的所有属性

注册监听事件的四种方式:

1、 设置 android:onClick 属性

《android:onClick=“onBtnClick”

// 当按钮被点击的时候调用的方法
publicvoid onBtnClick(View v) {

System.out.println("使用onClick属性");

Toast.makeText(MainActivity.this,“使用onClick属性”,

1).show();

}

2、 成员内部类

《//方式二:使用成员内部类

privateclass MyListener implements OnClickListener{

  @Override
  publicvoid onClick(View v) {

   
     //TODO Auto-generated method stub

System.out.println(“方式二:使用成员内部类”);

Toast.makeText(MainActivity.this,"方式二:使用成员内部

类", 1).show();
}
}

button2.setOnClickListener(newMyListener());

3、 匿名内部类
//方式三:使用匿名内部类

button3= (Button) this.findViewById(R.id.button3);

button3.setOnClickListener(newView.OnClickListener() {

@Override

publicvoid onClick(View v){

System.out.println(“方式三:使用匿名内部类”);

Toast.makeText(MainActivity.this,"方式三:使用匿名内部

类", 1).show();
}

});

4、 当前Activity实现监听接口(OnClickListener)

《public class MainActivity extends Activity

implementsOnClickListener {

     //方式四:实现监听接口

  @Override 
  publicvoid onClick(View v) {
      //TODO Auto-generated method stub


      switch(v.getId()) {
      caseR.id.button4:

System.out.println(“方式四:实现监听接口1”);

         Toast.makeText(MainActivity.this,"方式四:实

现监听接口1", 1).show();
break;
caseR.id.button5:
System.out.println(“方式四:实现监听接口2”);

         Toast.makeText(MainActivity.this,"方式四:实

现监听接口2", 1).show();

              break;

default:

          break;

}

}

}》

EditText 文本编辑框
【ems

–EditText类继承自TextView类,具有TextView的所有属性

–EditText与TextView最大的不同就是用户可以对EditText控

件进行编辑,同时还可以为EditText控件设置监听器,用来判断

用户的输入是否合法

android:hint 输入提示

android:textColorHint 提示的颜色

android:textColorHighlight 选中字体的背景颜色

android:inputType 输入类型的可选项

监听输入框中文本内容的变化:
addTextChangedListener(TextWatcher watcher)

《//监听EditText中文本变化

name.addTextChangedListener(newMyWather());

//监听EditText中文本变化

classMyWather implements TextWatcher{
@Override

            publicvoid onTextChanged

(CharSequence s, int start, int ,before,int count) {

   //TODO Auto-generated method stub                  

System.out.println(“文本发生改变…”+s);

}

}

if(TextUtils.isEmpty(namea) || TextUtils.isEmpty(pwd))

Android的四大组件
Activity 与用户交互的界面

Service 后台服务

BroadcastReceiver 广播接收器

ContentProvider 内容提供者(可以通过该组件实现不同进程间

的数据交互)

ImageView 图形视图

继承自View

andorid:src 设置图片来源

android:adjustViewBounds 用于设置ImageView 是否调整自己的

边界,来保持所显示图片的长宽比例

android:maxHeight 设置 ImageView 的最大高度

《需要先设置android:adjustViewBounds为true,否则不起作用

andorid:maxWidth 设置 ImageView 的最大宽度

android:scaleType 设置所显示的图片如何缩放或移动,以适应

ImageView的大小

setImageBitmap() 设置Bitmap作为图片源

setImageDrawable() 设置Drawable作为图片源

setImageResource() 设置Resource作为图片源

//方式一:Drawable类描述的是资源文件中的图像资源

//Drawabledrawable = getResources().getDrawable

(R.drawable.hjgh_n);

//iv.setImageDrawable(drawable);

//方式二:在Android中是用Bitmap类来描述图片

//通过BitmapFactory(位图工厂)生成Bitmap对象

/* Bitmap bm = BitmapFactory.decodeResource(getResources

(),R.drawable.hjgh_n);

iv.setImageBitmap(bm);*/

//方式三:

iv.setImageResource(R.drawable.hjgh_n);

获取资源文件实现切换效果:

private int[] imgs =

{R.drawable.lz1,R.drawable.lz2,R.drawable.lz3};

int index = 0;

public void xiaClick(View v){

if(index ==(imgs.length-1)){

     index=0;

   }else{

                        


      index++;

}

imView.setImageResource(imgs[index]);
}

怎么在代码中设ImageView的src属性

setImageDrawable(drawable);

setImageBitmap(bm);

setImageResource(resId);

怎么在代码中设ImageView的background属性

setBackgroundResource(R.drawable.down_finish);

// iv_startguid.setImageDrawable(getResources

().getDrawable(R.drawable.btn_start_guide));

iv_startguid.setBackgroundResource

(R.drawable.btn_start_guide);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值