android 学习笔记(1)

android 学习笔记(1)

后续会添加,记录学习成长过程
第一点
  • 在Android开发中,View.GONE是一个用于设置视图(View)可见性的常量,它定义在View类中。当你将一个视图的可见性设置为View.GONE时,该视图会从其父布局中完全消失,并且不会占用布局中的空间,就好像它从未被添加到布局中一样。

这里是View类中定义的三个可见性状态之一:

  • View.VISIBLE:视图可见,并且占用布局空间。
  • View.INVISIBLE:视图不可见,但仍然占用布局空间。
  • View.GONE:视图不可见,并且不占用布局空间。

在Kotlin中,你可以这样设置视图的可见性:

val myView = findViewById<View>(R.id.my_view)
myView.visibility = View.GONE // 将视图设置为GONE,即不可见且不占用空间

使用View.GONE可以在需要时隐藏视图,并且确保它不会影响布局的其他部分。这在动态显示和隐藏视图时非常有用,特别是在响应用户交互或数据变化时。

第二点
  • 解决横屏黑色边缘的问题
    请添加图片描述

请添加图片描述

  • 在需要添加的该条件的活动activity 中的setContview()上加

  • 如:

 //解决横屏和竖屏黑色边缘的问题
 var  attributes = getWindow().getAttributes();
 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
     attributes.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;
     getWindow().setAttributes(attributes);
 }
  setContentView(R.layout.activity_main)
  • 这段代码是用于Android应用开发中的Java代码片段,它的作用是设置应用窗口的属性,以便在Android P(API 级别 28)及以上版本的设备上,应用的内容可以延伸到屏幕的刘海或水滴区域。下面是代码的逐行解释:

    1. var attributes = getWindow().getAttributes();
      这行代码获取当前窗口的属性。getWindow()方法返回当前Activity的Window对象,getAttributes()方法则获取这个Window对象的属性。

    2. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
      这是一个条件判断语句,用于检查当前设备运行的Android系统版本是否在Android P(API 级别 28)或以上。Build.VERSION.SDK_INT是一个整数值,表示当前设备的Android系统版本。

    3. attributes.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;
      如果设备运行在Android P或以上版本,这行代码会设置窗口属性,使得应用的内容可以延伸到屏幕的刘海或水滴区域。LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES是一个常量,表示应用的内容应该延伸到屏幕的短边(通常是顶部或底部)的刘海区域。

    4. getWindow().setAttributes(attributes);
      这行代码将修改后的属性应用到当前窗口上,使得更改生效。

    这段代码的目的是在支持刘海或水滴屏幕的设备上,让应用界面能够更好地适应屏幕形状,避免内容被刘海遮挡。这是Android开发中处理屏幕刘海问题的一种常见做法。

第三点
  • 强制横屏的方法

  • 在需要添加的该条件的活动activity 中的setContview()下加,setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

  • 如:

 setContentView(R.layout.activity_main)
 //强制横屏的方法之一
 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
  • 或者,

  • androidManifest.xml 下,在需要的活动下加 android:screenOrientation=“landscape”

  • 如:

<activity
    android:name=".MainActivity"
    android:screenOrientation="landscape"
    android:exported="true">
有问题,欢迎评论区指出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值