目录

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);