目录
1.布局
2.控件
基础控件:
TextView:
EditText:
inmageView
Button(继承于TextView)
点击事件:
内部类
匿名内部类
Activity实现OnClickLitener
RadioButton:
inmagebutton:
checkbox:
高级控件:
scrollview:信息滑动
1.布局
- 线性布局(LinearLayout):
- 相对布局(RelativeLayout):
2.控件
基础控件:
TextView:
- 给文本设置边框
- 带图片的文本框
EditText:
- 常用属性
- hint:输入框输入提示,点击后消失
- inputtype:点击输入框时,弹出的键盘输入类型
inmageView
- src:相当于引用图片资源,引出scaletype
Button(继承于TextView)
- 常用属性
- shape:资源文件,
- statedrawableList:给按钮设置两个背景 色,或图
点击事件:
内部类
- 具体实现过程可看前一章
匿名内部类
Activity实现OnClickLitener
RadioButton:
- 在多选情况下一般跟radiogroup一起使用
RadioGroup
默认水平,可以通过orientation
来控制排列方式,水平还是垂直。- 他的点击事件声明到radiogroup
inmagebutton:
checkbox:
高级控件:
scrollview:信息滑动
- 一般跟线性布局一起使用,因为scrollview的特性是,有且只有一个子view(布局)可以是(LinearLayout或者是RelativeLayout),
- scrollview最大的特点,如果view没有子view的高度高,就不能滑动
- 默认垂直滑动,想要水平滑动要使用Scrollvew
Activity
Service
Activity(页面之间的跳转):意图
Intent intent=new Intent (Mainactivity.this,Minactivity.class)//定义从哪到哪
startactivity(intent)
ProgressBar:进度条
- 进度条是UI界面中一种非常实用的组件,通常用于向用户像是某个耗时操作完成的百分比。进度条可动态地显示进度,因此避免长时间地执行某个操作时,让用户感觉程序失去了响应,从而更好地提高用户界面的友好性
- 进度条可大致分为两类,水平进度条和环形进度条
使用‘style’分为两类
- style属性:
@android:style/Widget.ProgressBar.Horizontal:水平进度条
@android:style/Widget.ProgressBar.Inverse:普通大小的进度条
@android:style/Widget.ProgressBar.Large:大环形进度条
@android:style/Widget.ProgressBar.Large.Inverse:大环形进度条
@android:style/Widget.ProgressBar.Small:小环形进度条
@android:style/Widget.ProgressBar.Small.Inverse:小环形进度条
水平进度条
- @android:style/Widget.ProgressBar.Horizontal
环形进度条:
- @android:style/Widget.ProgressBar.Large:
popupWindows:弹出框
PopupWindow,顾名思义弹窗.PopupWindow是与AlertDialog在形式上类似的弹窗功能,都是为了在activity最上层显示一个弹窗.但是区别是PopupWindow可以自定义出现的位置,并且可以添加入自己需要的View或者导入自己写好的xml布局
- 可以加载一个view也可以加载自定义的弹窗文件,强调弹窗,强调互动性
- 可以加载一个view,也可以导入自己定义好的xml文件
- 使用的方式:
- //先定义一个view,然后直接在代码上new一个vie,或者将xml映射为view //实例化一个PopupWindow,将View在实例化作为参数传入 //配置PopupWindow参数
Spinner
- 设置Spinner的内容
- setContentView(View contentView)
- 设置Spinner 的属性
- 宽:setWidth(int width)
- 高setHeight(int height)
- 设置背景
- setBackgroundDrawable(Drawable background)
使用案例:
final PopupWindow popupWindow = new PopupWindow(textView,300,400);
popupWindow.setOutsideTouchable(true);
popupWindow.setBackgroundDrawable(getResources().getDrawable(R.drawable.ic\_launcher\_background));//设置背景
PinnerButton = (Button)findViewById(R.id.test_btn);
PinnerButton .setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
popupWindow.showAsDropDown(mTestButton);
}
});
40514
- setOutsideTouchable(boolean touchable)
- setFocusable(boolean focusable)
- 这个方法除了一般的聚焦选中的功能崴还有一个重要的地方
- 设置聚焦后,当用户按下导航栏的返回键后,不会直接退出当前的页面(Activity)而是会先退出当前的PopupWindow,然后再退出页面
- 设置弹出的动画的高度
- setElevation(float elevation)
- 这个方法可以设置弹出动画的其实位置
- 需要注意的是:以下几点
• // 传入 AnchorView ,锚点实际为 Window
// Gravity.TOP 在该锚点的正上方
// Gravity.LEFT 在屏幕左侧
// Gravity.NO_GRAVITY,在屏幕左上角
// x 为坐标系 x轴方向的偏移量,左负右正
// y 为坐标系 y轴方向的偏移量,上负下正
对应的代码为:• popupWindow.showAtLocation(view, Gravity.TOP, 0, y);
popupWindow.showAtLocation(view, Gravity.NO_GRAVITY,x, y);
popupWindow.showAtLocation(view, Gravity.TOP, 0, y);