zoukankan      html  css  js  c++  java
  • Android--UI

    1.layout_width 属性和 layout_height 属性:Android中所有的控件都包含这两个属性,有三种可选值 match_parent, fill_parent, wrap_content;

      1)match_parent:当前控件的大小和父元素一样,即由父元素类决定当前控件的大小;
      2)fill_parent:同 match_parent 意义相同,官方推荐使用 match_parent;
      3)wrap_content:使当前空前控件的大小刚好能保住其中的内容,即由控件内容决定控件大小;
    2.android中常用控件,这里就简单列出,具体用到时再看文档吧:
      1)TextView:文本显示
      2)Button:按钮
      3)EditText:输入框
      4)ImageView:图片
      5)ProgressBar:进度条
      6)AlertDialog:提示框,基本用法:AlertDialog.Builder dialog = new AlertDialog.Builder(MyActivity.this);//新建提示框
                       dialog.setTitle("Title");//设置标题
                       dialog.setMessage("Message");//设置提示信息
                       dialog.setCancelable(false);//设置是否可取消
                       dialog.setPositiveButton("OK", ocl);//设置确认按钮事件
                       dialog.setNegativeButton("OK", ocl);//设置取消按钮事件
                       dialog.show();//弹出窗口
      7)ProgressDialog:进度框,用法与AlertDialog相似;
    3.布局Layout:
      1)LinearLayout: 线性布局
        --可通过 android:orientation 设置 LinearLayout是 水平布局(horizontal)还是垂直布局(vertical);
        --设置成水平布局后,若内部有多个元素,则不要将内部元素的 android:layout_width 设置成 match_parent,否则该元素将覆盖其他元素;
        --android:layout_gravity: 指定控件在布局内部的对齐方式;
        --android:layout_weight: 使比例的方式指定控件大小,系统会计算布局所有layout_weight的总和,然后计算每个控件layout_weight所占的比例,最后确定大小;
      2)RelativeLayout: 相对布局
        --可以直接指定控件的位置,如 android:layout_centerInParent="true" ,设置控件处于布局中央;
        --常用的属性还有 android:layout_alignParentTop, android:layout_alignParentLeft, android:layout_alignParentRight等;
        --也可以通过控件间的相对位置来布局,如 android:layout_above="@id/btn", 设置控件位于id为btn控件的上方;
        --常用控件还有 android:layout_toLeftOf, android:layout_toRightOf, android:layout_alignRight, android:layoutTop;
      3)FrameLayout:
        --所有控件都摆放在布局的左上角
      4)TableLayout: 表格布局
        --使用的表格的方式来排列控件(使用 android:layout_span 属性来合并);
        --当存在不一样的列数时,需要进行合并单元格操作;
        --TableRow 中的控件不能指定宽度(layout_width);
        --可以使用 TableLayout 标签的 android:stretchColumns 属性指定对某一列进行拉伸,下标从 0 开始;
      5)AbsoluteLayout:不推荐使用;
    4.自定义控件:利用控件的继承结构来自定义控件;
    5.ListView 控件:
      1)简单应用
      ①在布局文件中编写<ListView>标签;
      ②准备(获取)数据:String[] data = {"AA", "BB", "CC", "DD", "EE", "FF", "GG", "HH", "II", "JJ" ,"KK", "LL", "MM", "NN"};
      ③编写适配器,以 ArrayAdapter 适配器为例:ArrayAdapter<String> adapter = new ArrayAdapter<String>(MyActivity.this, android.R.layout.simple_expandable_list_item_1, data);其中构造器中的第一个参数为当前上下文,第二个参数为 ListView 子项布局的 id,第三个参数为要适配的数据;
      ④在 Activity 中获取到 ListView:ListView listView = (ListView)findViewById(R.id.listView);
      ⑤设置 listView 的适配器为 adapter:listView.setAdapter(adapter);
      2)自定义ListView Item界面:
        --大致步骤与上述类似,需要自定义适配器,并继承 ArrayAdapter,重写其构造器和 getView() 方法,同时需要创建一个自定义布局文件;
        --利用 getView() 方法中的 convertView 参数可以有效地提升 ListView 的运行效率,convertView 用于将之前加载好的布局进行缓存,以后无需重复加载;
      3)为 ListView 设置事件监听:listView.setOnItemClickListener(oicl) ,重写onItemClick()方法;
    5.单位和尺寸:
      1)Android中主要采用 dp 和 sp 作为单位;
      2)dp 也称 dip,是密度无关像素的意思,它在不同密度的屏幕中的显示比例将保持一致;
      3)sp,可伸缩像素,解决了文字大小的适配问题;
      4)屏幕密度:屏幕每英寸所包含的像素数,可以通过getResources().getDisplayMetrics().xdpi 和 getResources().getDisplayMetrics().ydpi 方法获取;

  • 相关阅读:
    No-3.算数运算符
    No-2.注释
    No-1.第一个 Python 程序
    mtcnn网络训练--------------->>>
    sudo vim ~/.condarc
    CVPR2021佳作 | One-Shot都嫌多,Zero-Shot实例样本分割
    查询--主机硬件结构类型
    人群计数:
    共享盘登录
    C++---->>YOLOv4-detect_demo.py参考
  • 原文地址:https://www.cnblogs.com/tengtao93/p/5259687.html
Copyright © 2011-2022 走看看