2.3 KiB
2.3 KiB
[TOC]
WebSocket
WebSocketHandler.getInstance("ws://192.168.3.20:8765")
线程
UI线程执行
runOnUiThread { "提示信息".showMessage() }
App.getInstance().runOnUiThread() {}
延时执行
App.getInstance().runOnUiThreadDelay({},1100)
常用工具
Toast
"连接完成".showMessage()
ToolsHelper.showMessage("")
Log
"".loge()
"".log()
LogHelper.d("")
常用方法
双击退出
private var oldTime = 0L
override fun onBackPressed() {
val newTime = System.currentTimeMillis()
if (newTime - oldTime < 1500 && oldTime != 0L)
AppManager.getInstance().exit()
else {
oldTime = newTime
ToolsHelper.showMessage("双击退出")
}
}
界面
所有界面继承
BaseFragment,BaseActivity,BaseListActivity等页面
layout跟节点必须为layout
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
</layout>
列表页面
纯列表
BaseListActivity
自定义布局列表
BaseListFormLayoutActivity布局列表部分必须使用下面的方法和id
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
android:id="@+id/baseRefreshLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.xuqm.base.view.EmptyView
android:id="@+id/baseEmptyView"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/baseRecyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:overScrollMode="never" />
</com.xuqm.base.view.EmptyView>
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
界面控件使用
binding.btn1.setOnClickListener {
}
导航栏
使用base自带导航栏的情况下,可以操控对应控件
baseBinding.baseToolbar.backBtn.setOnClickListener {}