Android入门知识梳理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android入门知识梳理相关的知识,希望对你有一定的参考价值。

清单文件: androidManifest.xml

  • package: 一台手机上,包名用来识别一个应用。也就是说,不能有两个应用是同一个包名的。
    • adb uninstall 包名 ; adb install apk全路径
    • 签名一样,版本号不低于旧版本,重复安装会覆盖
    • 签名不同,新包安装失败。
  • versionCode : 版本号。 必须是数字
  • versionName: 版本名。 字符串。可以是中文
  • apllication
    • label: 应用名字。

    • icon : 图标

    • Activity

      • label
      • icon
      • name: 所使用Activity的全路径。 包名+ . +类名。

MainActivity extends Activity

  • onCreate() : 当界面被创建的时候会被调用。
    • setContentView() R.laytout.xx
    • setContentView(new TextView(this));

LinearLayout

-layout_weightSum : 可以省略

  • orientation
    • horizontal
    • vertical

子节点有的属性

  • layout_weight
  • layout_gravity: 在界面的子组件的位置
    • 如果是水平布局,只能调整垂直方向的重心
    • 如果是垂直布局,只能调整水平放的重心。 left right horizontal_center

  • layout_width: 宽度
    • 100px
    • wrap_content: 包裹内容
    • match_parent: 和父组件一样大
  • layout_height: 高度

TextView

- gravity: 控制内容在组件里显式的位置

尺寸数值

  • dp: px=dp*(dpi/160)

    dpi: dot per inch: 每英寸的像素点数。可以调整我屏幕的分辨率,来展示像素密度的问题。

    • 假设屏幕大小不变 都是两英寸
    • 如果分辨率是 320*480 那么像素密度就是 160.那么 1dp == 1px. 160 dp 就是 160px, 就是屏幕的中心
    • 如果分辨率变成 480960. 像素密度是 240 那么 1dp(240/160) = 1.5px. 160dp == 240px. 一样在屏幕中央。
  • px:

  • pt:

  • sp: 这个一般是用来指定字符的大小的,功能类似dp。所以一般设置文字大小推荐使用这个sp。


布局

LinearLayout

  • orientation : 线性布局布局方向
    • horizontal: 水平布局
    • vertical: 垂直布局
  • 子节点属性:
    • layout_gravity: 组件的重心。
      • 如果是水平布局,不能水平居中
      • 如果是垂直布局,不能垂直居中。

ReletiveLayout:

没有layout_gravity

  • 如果一个组件是依赖另外一个组件布局的,如果剩余空间不够,会被压缩。

  • 如果所依赖控件比当前控件出现的还晚,也就是找不到对应的id,可以

    android:layout_above="@+id/center"

    这种方式引用id

子组件常见属性

RelativeLayout

相对父节点的属性

  • android:layout_alignParentLeft 是否跟父元素左对齐

  • android:layout_alignParentTop 是否跟父元素顶部对齐

  • android:layout_alignParentRight 是否跟父元素右对齐

  • android:layout_alignParentBottom 是否跟父元素底部对齐

  • android:layout_centerVertical 在父元素中垂直居中

  • android:layout_centerHorizontal 在父元素中水平居中

  • android:layout_centerInParent 在父元素中居中 相对于别的节点的属性

  • android:layout_alignBaseline 跟指定控件中间对齐(重心对齐)

  • android:layout_alignLeft 跟指定控件左对齐

  • android:layout_alignRight 跟指定控件右对齐

  • android:layout_alignTop 跟指定控件顶部对齐

  • android:layout_alignBottom 跟指定控件底部对齐

  • android:layout_toRightOf 在指定控件的右边

  • android:layout_toLeftOf 在指定控件的左边

  • android:layout_above 在指定控件的上边

  • android:layout_below 在指定控件的下边

  • 如果一个组件是依赖另外一个组件布局的,如果剩余空间不够,会被压缩。

  • 如果所依赖控件比当前控件出现的还晚,也就是找不到对应的id,可以

    android:layout_above="@+id/center"

    这种方式引用id


FrameLayout:

可以使用layout_gravity,而且不限制方向。

AbsoluteLayout:

基本没用,子组件只能设置 layout_x layout_y

margin padding区别

-margin是设置当前组件距离父组件边框的为孩子

  • padding: 设置当前组件添加子组件的时候,有多少的范围是不能用来显示的。

按钮点击

setClickListener()

Logcat

  • 视图显示
  • sysout的区别
  • 不同的等级
  • 过滤器
    • 直接搜索 只能搜索text里的内容
    • 设置filter 通过包名过滤
  • Log.d(tag, msg)
  • Log.v(tag, msg)
  • Log.i(tag, msg)
  • Log.w(tag, msg)
  • Log.e(tag, msg)

Toast

Toast不能在子线程里show

Toast t = Toast.makeText(MainActivity.this, "btn1被点击了", Toast.LENGTH_SHORT);
t.show();

以上是关于Android入门知识梳理的主要内容,如果未能解决你的问题,请参考以下文章

Android学习—— Android 知识梳理

Android入门知识梳理

Kevin Learn Android--> Android 知识梳理

Flutterflutter doctor 报错Android license status unknown. Run `flutter doctor --android-licenses‘(代码片段

Android基础知识梳理-Activity组件

Android基础知识梳理-Activity组件