首页 > 其他分享 >Android 中kotlin的功能点

Android 中kotlin的功能点

时间:2024-01-26 14:12:43浏览次数:23  
标签:功能 val settings kotlin binding number Android true webView

一、设置状态栏为透明

1、屏蔽.fitsSystemWindows(true)
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="lianxin.web.psybot.nexring.MainActivity">

    <include layout="@layout/content_main" />

</androidx.coordinatorlayout.widget.CoordinatorLayout>

<!--    android:fitsSystemWindows="true"-->
<!--    .fitsSystemWindows(true)    //解决状态栏和布局重叠问题,任选其一,默认为false,当为true时一定要指定statusBarColor(),不然状态栏为透明色,还有一些重载方法-->

2、设置状态栏的字体颜色为黑色

// 设置状态栏
if (Build.VERSION.SDK_INT >= 21) {
    val decorView = window.decorView
    decorView.systemUiVisibility =
        View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LAYOUT_STABLE
    var originVisibility: Int = decorView.getSystemUiVisibility()
    if ( originVisibility and View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR == 0) {
        originVisibility = originVisibility or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
    }
    decorView.setSystemUiVisibility(originVisibility)
    window.statusBarColor = Color.TRANSPARENT
}

 

二、向下取整,向上取整,四舍五入

val number = 3.75
val result = floor(number) // 调用floor()函数对number进行向下取整
println("结果为:$result") // 输出结果为3.0
val number = 3.14
val roundedNumber = ceil(number) // 将小数部分四舍五入到最接近的大于或等于该值的整数
println("向上取整后的结果为:$roundedNumber")
val number = 3.145926
val roundedNumber = number.round() // 结果为3
println(roundedNumber)

 

三、获取时间戳

// Calendar 是this 
 var dateTime : Long = this.getTimeInMillis();

四、webView加载

        // 设置webView==============================================================================
        messageHandler = MessageHandler()
        binding.webView.webViewClient = WebViewClient()
        binding.webView.settings.javaScriptEnabled=true;
        binding.webView.settings.setSupportZoom(false) // 支持缩放 默认为true 是下面那个的前提
        binding.webView.settings.builtInZoomControls = false // 设置内置的缩放控件 若为false 则该WebView不可缩放
        binding.webView.settings.displayZoomControls = false // 隐藏原生的缩放控件
        binding.webView.settings.cacheMode = WebSettings.LOAD_DEFAULT // 缓存模式
        binding.webView.settings.domStorageEnabled = true // 启用或禁用DOM缓存
        binding.webView.settings.setSupportMultipleWindows(false) // 设置WebView是否支持多窗口
        // 设置自适应屏幕, 两者合用
        binding.webView.settings.useWideViewPort = true  // 将图片调整到适合webview的大小
        binding.webView.settings.loadWithOverviewMode = true  // 缩放至屏幕的大小
        binding.webView.settings.allowFileAccess = true // 设置可以访问文件
        binding.webView.settings.setGeolocationEnabled(true) // 是否使用地理位置

        binding.webView.fitsSystemWindows = true
        binding.webView.setLayerType(View.LAYER_TYPE_HARDWARE,null)

        binding.webView.loadUrl("https://xxx")
        //Kotlin与H5通信方式1: H5调用Kotlin方法
        //设置Kotlin与H5通信桥梁类
        binding.webView.addJavascriptInterface(this,"NativeBridge")
        // 返回上一层
        binding.webView.setOnKeyListener { view, keyCode, keyEvent ->
            if (keyEvent.action == KeyEvent.ACTION_DOWN) {
                if (keyCode == KeyEvent.KEYCODE_BACK && binding.webView.canGoBack()) {
                    binding.webView.goBack()
                    return@setOnKeyListener true
                }
            }
            return@setOnKeyListener false
        }

        // 设置webView==============================================================================

 

标签:功能,val,settings,kotlin,binding,number,Android,true,webView
From: https://www.cnblogs.com/ljcgood66/p/17989192

相关文章

  • .NET 8 的新增功能-数据验证
    1.概要在.NET8中C#的新增特性,System.ComponentModel.DataAnnotations命名空间包括用于云原生服务中的验证场景的新数据验证特性。虽然预先存在的 DataAnnotations 验证程序适用于典型的UI数据输入验证(例如窗体上的字段),但新特性旨在验证非用户输入数据,例如配置选项。除了新......
  • 使用Spring Data JPA实现审计功能,记录创建人、创建时间、最后修改时间和最后修改人
    目录前言近日心血来潮想做一个开源项目,目标是做一款可以适配多端、功能完备的模板工程,包含后台管理系统和前台系统,开发者基于此项目进行裁剪和扩展来完成自己的功能开发。本项目为前后端分离开发,后端基于Java21和SpringBoot3开发,后端使用SpringSecurity、JWT、SpringDataJP......
  • Android真机调试遇到The application could not be installed: INSTALL_FAILED_NO_MAT
    先说下编译环境AndroidStudio 2023.1.1gredle8.0sdk32kotlin1.8.10 最近开发地图功能的时候,需要用到真机环境的定位设备,所以需要进行真机调试。连上手机后,点击调试总是提示INSTALL_FAILED_NO_MATCHING_ABIS这个错误。但是我直接将编译好的release.apk拷贝到真机上又......
  • AndroidStudio配置问题
    最开始的显示这个错误 解决方法:关闭代理,手动去下载gradle文件,先在这个设置里把代理关闭  然后在settings里面把gradle目录改为这个:然后按照AndroidStudio的提示,去这个网址把7.2的gradle下载下来下载下来后,把7.2的压缩包以及解压后的文件都放入这个随机码的目录下,......
  • python 翻页功能
    python翻页功能在django框架下使用fromdjango.core.paginatorimportPaginator#数据集合data=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]per_datas=5#每页显示的数量#创建Paginator对象paginator=Paginator(data,per_datas)#获取......
  • 用python实现部分代码内容替换的功能(用关键字实现)
    具体实现方法先将exl表格中的数据提取出来存放到list中,再根据文件中对应部分的需求和结构来构造函数去生成相应部分的c语言代码,然后通过readlines函数扫描原本的文件,按行复制到新的文件中,在识别到开始关键字的时候停止复制,开始调用构造的函数去生成新的代码写入新的文件中,然后在......
  • 火山引擎VeDI:新增微信小程序广告A/B实验功能,助力企业降低获客成本
    更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 近日,火山引擎数智平台VeDI旗下的A/B测试平台(DataTester)宣布推出一项创新的广告投放解决方案,这项能力让企业可以在微信小程序端进行广告A/B测试,以更科学、更精准地优化广告策略。此项......
  • Map集合做投票功能
    1publicstaticvoidmain(String[]args){2//学生选景点a,b,c,d四个景点,80个学生3String[]scene={"A","B","C","D"};4StringBuildersb=newStringBuilder();5Randomr=newRand......
  • 上门服务小程序|预约上门服务系统开发有哪些功能?
    在现代快节奏的生活中,压力和疲劳常常困扰着我们。为了缓解这种状况,越来越多的人选择去按摩店进行放松。然而,繁忙的工作和家庭责任往往让我们无法抽出时间去按摩店。在这种情况下,上门按摩服务应运而生。而随着科技的发展,上门按摩小程序的出现更是让这一服务变得更加便捷和高效。 上......
  • 夜莺监控发布 v6.7 版本,推送部分商业版功能
    熟悉夜莺的小伙伴都知道夜莺分为开源版、专业版、企业版,三个版本良性发展。近期夜莺团队发布了v6.7版本,把机器Metadata管理功能推送到了开源版,下面是该功能的简单介绍。如上图,机器列表页面的机器标识部分,加了超链接支持点击,点击之后会弹出一个侧拉板,展示机器的metadata信息,......