简单UI总结

1.UI的理解
 全称user interface,意为:用户界面  由View和ViewGroup组成
 View类是所有视图(包括ViewGroup)的根基类
 View在屏幕上占据一片矩形区域  并会在上面进行内容绘制
 ViewGroup包含一些View或ViewGroup  用于控制子View的布局
 事件是什么?
 在操作屏幕时发生的事件   如点击事件 滑动等等
 谁是事件源?
 就是操作的视图  通过点击事件触发事件源 生成事件
 谁是事件监听器?
 触发事件源 生成事件 传递到监听器
 设置监听器 view.setOnClickListener(listener)
2.常用的UI组件
 2.1.简单的UI组件
 1.TextView文本视图
 android:id="@+id/tv_test1_message"    指定id
 android:layout_width="match_parent"   宽度
 android:layout_height="wrap_content"  高度
 android:text="这是TextView的内容"     文本
 android:textColor="#ff0000"           文本颜色
 android:textSize="20sp"               字体大小
 2.EditText:课编辑的文本视图
 android:hint="请输入手机号"           默认提示文本
 android:inputTapy="phone"             输入数据类型限定
 3.Button :按钮
 4.ImageView:图片视图
 android:background="@drawable/ic_laucher"   背景图片
 android:src="@android:drawable/ic_media_play"  前景图片
 public void setImageResource(int resld)    设置前景图片
 public void setBackgroundRsource           设置背景图片
 5.CheckBox:多选框
 android:checked="true"               标识默认是否勾选
 boolean isChecked()    判断当前是否勾选
 void setChecked(boolean checked)   设置CheckBox是否勾选
 设置选中状态改变的监听
 void setOnCheckChangeListener(OnChenkedChangeListener listener)    6.RadioGroup/RadioButton:单选框
 <RadioGroup
   android:id="@+id/rg_test1_sex"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:orientation="horizontal">
   <RadioBuuton
     android:id="@+id/rb_test1_male"
     android:layout_width="wrap_parent"
     android:layout_height="wrap_content"
     android:text="男"/>
   <RadioButton
     android:id="@+id/rb_test1_female"
     android:layout_width="wrap_parent"
     android:layout_height="wrap_content"
     android:checked="女"/>
  </RadioGroup>
 2.2菜单Menu
 1.OptionMenu
 1.如何触发Menu的显示?
 点击Menu
 2.如何向Menu中添加MenuItem?
 重写onCreatOptionMenu()
 3.选择某个MenuItem是如何响应?
 重写omOptionsItemSelected() 根据itemId做响应
 2.ContextMenu
 1.如何触发Menu的显示?
 长按某个视图
 view.setOnCreatContextMenuListener(this)
 2.如何向Menu中添加MenuItem?
 重写onCreatContextMenu()  menu.add()
 3.选择某个MenuItem是如何响应?
 重写onContextItemSelected()  根据itemId做响应  
 2.3进度条
 1.Progressbar
 android:id="@+id/pb_test3_loading1"
 android:layout_width="wrap_parent"
 android:layout_height="wrap_content"
 b.水平
 android:id="@+id/rb_test3_loading2"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:progress="2"  当前进度 默认0
 android:max="10" 最大进度  默认100
 ProgressBar
 void setProgress(int Progress):设置当前进度
 int getProgress():得到当前进度
 void setMax(int max):设置最大进度
 int getMax():设置或得到最大进度
 View 
 void setVisibility(int visibility):设置图片可见性
 View.VISIBLE:标识可见
 View.INVISIBLE:标识不可见  但占屏幕空间
 View.GONE:标识不可见  也不占屏幕空间
 2.SeekBar
 android:id="@+id/sb_test3_preress"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 2.4对话框
 1.API结构
 Dialog-android.app
 AlertDialog
 DatePickerDialog
 ProgressDialog
 TimePickerDialog
 2.AlertDialog
AlertDialog:
show():显示警告框
没有公开的构造方法,只能通过其内部类Builder来创建
AlertDialog.Builder:
create():创建AlertDialog对象
show():创建AlertDialg对象,同时将其显示出来
setTitle(CharSequence title):设置标题
setMessage(CharSequence message):设置内容
setPositiveButton(String text,OnClickListener listener):设置正面按钮
setNegatiVeButton(String text,OnClickListener listener):设置负面按钮
dismiss():移除dialog
b.自定义布局的动态加载布局文件得到对应的View对象
View inflate(Context context,int resource,ViewGroup root):动态加载布局得到View
设置view
DialogBuilder:
setView(View view):设置Dlalog中的视图
c.带单选列表的
setSingleChoicetemd(......)设置单选列列表
3)ProgressDialog
a.圆形进度
ProgressDialog:
static show(Context context,CharSequence title,CharSequence message):显示dialog
b.水平进度
ProgressDialog(Context context):构造方法
setProgressStyle(int style):设置样式
ProgressDialog.STYLE_HORIZONTAL:水平进度条样式
补充:
1):启动分线程
1.方式一:new Thread(){
pubic void run(){


}
}
2.方式二:new Thread(new Runnable()){
public void run(){

}


}
2):根据id查找view对象
 a.查找当前界面中的view对象:findViewById(id)
 b.查找某个view对象的子view:view.findViewById(id)
3):更新视图
 a.不能在分线程直接更新UI:
   toast 不能在分线程显示
   但ProgressDialog可以直接在分线程更新
 b.长时间的工作只能放在分线程执行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值