沉浸式
This commit is contained in:
@@ -36,7 +36,6 @@ android {
|
|||||||
buildFeatures {
|
buildFeatures {
|
||||||
viewBinding=true
|
viewBinding=true
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
@@ -83,4 +82,8 @@ dependencies {
|
|||||||
implementation("androidx.media3:media3-ui:1.9.0")
|
implementation("androidx.media3:media3-ui:1.9.0")
|
||||||
// ExoPlayer 通用库
|
// ExoPlayer 通用库
|
||||||
implementation("androidx.media3:media3-common:1.9.0")
|
implementation("androidx.media3:media3-common:1.9.0")
|
||||||
|
// 基础依赖包,必须要依赖
|
||||||
|
implementation("com.geyifeng.immersionbar:immersionbar:3.2.2")
|
||||||
|
// kotlin扩展(可选)
|
||||||
|
implementation("com.geyifeng.immersionbar:immersionbar-ktx:3.2.2")
|
||||||
}
|
}
|
||||||
@@ -9,6 +9,7 @@ import androidx.recyclerview.widget.GridLayoutManager
|
|||||||
import com.example.defenseapplication.adapter.AddDeviceAdapter
|
import com.example.defenseapplication.adapter.AddDeviceAdapter
|
||||||
import com.example.defenseapplication.adapter.Device
|
import com.example.defenseapplication.adapter.Device
|
||||||
import com.example.defenseapplication.databinding.AddDeviceActivityBinding
|
import com.example.defenseapplication.databinding.AddDeviceActivityBinding
|
||||||
|
import com.gyf.immersionbar.ImmersionBar
|
||||||
|
|
||||||
class AddDeviceActivity : AppCompatActivity() {
|
class AddDeviceActivity : AppCompatActivity() {
|
||||||
|
|
||||||
@@ -18,7 +19,10 @@ class AddDeviceActivity : AppCompatActivity() {
|
|||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
binding = AddDeviceActivityBinding.inflate(layoutInflater)
|
binding = AddDeviceActivityBinding.inflate(layoutInflater)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
ImmersionBar.with(this)
|
||||||
|
.statusBarDarkFont(true)
|
||||||
|
.titleBar(binding.topBar)
|
||||||
|
.init()
|
||||||
binding.ivBack.setOnClickListener {
|
binding.ivBack.setOnClickListener {
|
||||||
finish()
|
finish()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import com.example.defenseapplication.R
|
|||||||
import com.example.defenseapplication.adapter.WifiListAdapter
|
import com.example.defenseapplication.adapter.WifiListAdapter
|
||||||
import com.example.defenseapplication.databinding.AddFamilyActivityBinding
|
import com.example.defenseapplication.databinding.AddFamilyActivityBinding
|
||||||
import com.example.defenseapplication.databinding.DialogWifiListBinding
|
import com.example.defenseapplication.databinding.DialogWifiListBinding
|
||||||
|
import com.gyf.immersionbar.ImmersionBar
|
||||||
|
|
||||||
class AddFamilyActivity : AppCompatActivity() {
|
class AddFamilyActivity : AppCompatActivity() {
|
||||||
|
|
||||||
@@ -34,7 +35,10 @@ class AddFamilyActivity : AppCompatActivity() {
|
|||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
binding = AddFamilyActivityBinding.inflate(layoutInflater)
|
binding = AddFamilyActivityBinding.inflate(layoutInflater)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
ImmersionBar.with(this)
|
||||||
|
.statusBarDarkFont(true)
|
||||||
|
.titleBar(binding.topBar)
|
||||||
|
.init()
|
||||||
binding.ivBack.setOnClickListener {
|
binding.ivBack.setOnClickListener {
|
||||||
finish()
|
finish()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import androidx.recyclerview.widget.LinearLayoutManager
|
|||||||
import com.example.defenseapplication.adapter.MessageListAdapter
|
import com.example.defenseapplication.adapter.MessageListAdapter
|
||||||
import com.example.defenseapplication.adapter.MessageListItem
|
import com.example.defenseapplication.adapter.MessageListItem
|
||||||
import com.example.defenseapplication.databinding.MessageActivityBinding
|
import com.example.defenseapplication.databinding.MessageActivityBinding
|
||||||
|
import com.gyf.immersionbar.ImmersionBar
|
||||||
|
|
||||||
class MessageActivity : AppCompatActivity() {
|
class MessageActivity : AppCompatActivity() {
|
||||||
private lateinit var binding: MessageActivityBinding
|
private lateinit var binding: MessageActivityBinding
|
||||||
@@ -19,7 +20,10 @@ class MessageActivity : AppCompatActivity() {
|
|||||||
enableEdgeToEdge()
|
enableEdgeToEdge()
|
||||||
binding = MessageActivityBinding.inflate(layoutInflater)
|
binding = MessageActivityBinding.inflate(layoutInflater)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
ImmersionBar.with(this)
|
||||||
|
.statusBarDarkFont(true)
|
||||||
|
.titleBar(binding.topBar)
|
||||||
|
.init()
|
||||||
ViewCompat.setOnApplyWindowInsetsListener(binding.main) { v, insets ->
|
ViewCompat.setOnApplyWindowInsetsListener(binding.main) { v, insets ->
|
||||||
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
|
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
|
||||||
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
|
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import com.bumptech.glide.Glide
|
|||||||
import com.example.defenseapplication.R
|
import com.example.defenseapplication.R
|
||||||
import com.example.defenseapplication.databinding.PersonalFragmentBinding
|
import com.example.defenseapplication.databinding.PersonalFragmentBinding
|
||||||
import com.example.defenseapplication.personal.PersonalProfileActivity
|
import com.example.defenseapplication.personal.PersonalProfileActivity
|
||||||
|
import com.gyf.immersionbar.ImmersionBar
|
||||||
|
|
||||||
class PersonalFragment : Fragment() {
|
class PersonalFragment : Fragment() {
|
||||||
// ViewBinding
|
// ViewBinding
|
||||||
@@ -21,6 +22,12 @@ class PersonalFragment : Fragment() {
|
|||||||
container: ViewGroup?,
|
container: ViewGroup?,
|
||||||
savedInstanceState: Bundle?
|
savedInstanceState: Bundle?
|
||||||
): View {
|
): View {
|
||||||
|
|
||||||
|
ImmersionBar.with(this)
|
||||||
|
.statusBarDarkFont(true)
|
||||||
|
.titleBar(binding.headerLayout)
|
||||||
|
.init()
|
||||||
|
|
||||||
_binding = PersonalFragmentBinding.inflate(inflater, container, false)
|
_binding = PersonalFragmentBinding.inflate(inflater, container, false)
|
||||||
Glide.with(this)
|
Glide.with(this)
|
||||||
.load(R.drawable.img)
|
.load(R.drawable.img)
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ import com.example.defenseapplication.R
|
|||||||
import com.example.defenseapplication.databinding.ScanActivityBinding
|
import com.example.defenseapplication.databinding.ScanActivityBinding
|
||||||
import com.google.zxing.*
|
import com.google.zxing.*
|
||||||
import com.google.zxing.common.HybridBinarizer
|
import com.google.zxing.common.HybridBinarizer
|
||||||
|
import com.gyf.immersionbar.ImmersionBar
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
class ScanActivity : AppCompatActivity(), SurfaceHolder.Callback {
|
class ScanActivity : AppCompatActivity(), SurfaceHolder.Callback {
|
||||||
@@ -42,7 +43,10 @@ class ScanActivity : AppCompatActivity(), SurfaceHolder.Callback {
|
|||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
binding = ScanActivityBinding.inflate(layoutInflater)
|
binding = ScanActivityBinding.inflate(layoutInflater)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
ImmersionBar.with(this)
|
||||||
|
.statusBarDarkFont(true)
|
||||||
|
.titleBar(binding.btnBack)
|
||||||
|
.init()
|
||||||
initView()
|
initView()
|
||||||
initListener()
|
initListener()
|
||||||
startScanLineAnimation()
|
startScanLineAnimation()
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package com.example.defenseapplication.home
|
|||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import com.example.defenseapplication.databinding.SetNameActivityBinding
|
import com.example.defenseapplication.databinding.SetNameActivityBinding
|
||||||
|
import com.gyf.immersionbar.ImmersionBar
|
||||||
|
|
||||||
class SetNameActivity : AppCompatActivity() {
|
class SetNameActivity : AppCompatActivity() {
|
||||||
|
|
||||||
@@ -12,7 +13,10 @@ class SetNameActivity : AppCompatActivity() {
|
|||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
binding = SetNameActivityBinding.inflate(layoutInflater)
|
binding = SetNameActivityBinding.inflate(layoutInflater)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
ImmersionBar.with(this)
|
||||||
|
.statusBarDarkFont(true)
|
||||||
|
.titleBar(binding.topBar)
|
||||||
|
.init()
|
||||||
binding.ivBack.setOnClickListener {
|
binding.ivBack.setOnClickListener {
|
||||||
finish()
|
finish()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,10 @@ import android.widget.Toast
|
|||||||
import androidx.activity.OnBackPressedDispatcher
|
import androidx.activity.OnBackPressedDispatcher
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.compose.ui.test.isEnabled
|
import androidx.compose.ui.test.isEnabled
|
||||||
|
import com.example.defenseapplication.R
|
||||||
import com.example.defenseapplication.databinding.LiveVideoActivityBinding
|
import com.example.defenseapplication.databinding.LiveVideoActivityBinding
|
||||||
|
import com.gyf.immersionbar.ImmersionBar
|
||||||
|
import com.gyf.immersionbar.ktx.destroyImmersionBar
|
||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
|
|
||||||
class LiveVideoActivity : AppCompatActivity(), SurfaceHolder.Callback {
|
class LiveVideoActivity : AppCompatActivity(), SurfaceHolder.Callback {
|
||||||
@@ -36,6 +39,11 @@ class LiveVideoActivity : AppCompatActivity(), SurfaceHolder.Callback {
|
|||||||
binding = LiveVideoActivityBinding.inflate(layoutInflater)
|
binding = LiveVideoActivityBinding.inflate(layoutInflater)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
|
||||||
|
// ImmersionBar核心调用,沉浸式
|
||||||
|
ImmersionBar.with(this)
|
||||||
|
.statusBarDarkFont(true)
|
||||||
|
.titleBar(binding.topBar)
|
||||||
|
.init()
|
||||||
|
|
||||||
initSurfaceView()
|
initSurfaceView()
|
||||||
initListener()
|
initListener()
|
||||||
@@ -297,5 +305,7 @@ class LiveVideoActivity : AppCompatActivity(), SurfaceHolder.Callback {
|
|||||||
releaseMediaPlayer()
|
releaseMediaPlayer()
|
||||||
super.onDestroy()
|
super.onDestroy()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import androidx.core.view.ViewCompat
|
|||||||
import androidx.core.view.WindowInsetsCompat
|
import androidx.core.view.WindowInsetsCompat
|
||||||
import com.example.defenseapplication.R
|
import com.example.defenseapplication.R
|
||||||
import com.example.defenseapplication.databinding.FaceLoginActivityBinding
|
import com.example.defenseapplication.databinding.FaceLoginActivityBinding
|
||||||
|
import com.gyf.immersionbar.ImmersionBar
|
||||||
|
|
||||||
class FaceLoginActivity : AppCompatActivity() {
|
class FaceLoginActivity : AppCompatActivity() {
|
||||||
|
|
||||||
@@ -17,7 +18,10 @@ class FaceLoginActivity : AppCompatActivity() {
|
|||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
binding = FaceLoginActivityBinding.inflate(layoutInflater)
|
binding = FaceLoginActivityBinding.inflate(layoutInflater)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
ImmersionBar.with(this)
|
||||||
|
.statusBarDarkFont(true)
|
||||||
|
.titleBar(binding.topContainer)
|
||||||
|
.init()
|
||||||
setupListeners()
|
setupListeners()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ import com.example.defenseapplication.databinding.FaceVerificationActivityBindin
|
|||||||
import com.example.defenseapplication.view.FaceAnalyzer
|
import com.example.defenseapplication.view.FaceAnalyzer
|
||||||
import com.google.mlkit.vision.face.FaceDetection
|
import com.google.mlkit.vision.face.FaceDetection
|
||||||
import com.google.mlkit.vision.face.FaceDetectorOptions
|
import com.google.mlkit.vision.face.FaceDetectorOptions
|
||||||
|
import com.gyf.immersionbar.ImmersionBar
|
||||||
import java.util.concurrent.ExecutorService
|
import java.util.concurrent.ExecutorService
|
||||||
import java.util.concurrent.Executors
|
import java.util.concurrent.Executors
|
||||||
|
|
||||||
@@ -33,7 +34,10 @@ class FaceVerificationActivity : AppCompatActivity() {
|
|||||||
// 使用标准 ViewBinding
|
// 使用标准 ViewBinding
|
||||||
binding = FaceVerificationActivityBinding.inflate(layoutInflater)
|
binding = FaceVerificationActivityBinding.inflate(layoutInflater)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
ImmersionBar.with(this)
|
||||||
|
.statusBarDarkFont(true)
|
||||||
|
.titleBar(binding.topContainer)
|
||||||
|
.init()
|
||||||
// 初始化人脸检测器(选项可自行调整)
|
// 初始化人脸检测器(选项可自行调整)
|
||||||
val options = FaceDetectorOptions.Builder()
|
val options = FaceDetectorOptions.Builder()
|
||||||
.setPerformanceMode(FaceDetectorOptions.PERFORMANCE_MODE_FAST)
|
.setPerformanceMode(FaceDetectorOptions.PERFORMANCE_MODE_FAST)
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import androidx.core.view.WindowInsetsCompat
|
|||||||
import com.example.defenseapplication.R
|
import com.example.defenseapplication.R
|
||||||
import com.example.defenseapplication.databinding.ForgetPasswordActivityBinding
|
import com.example.defenseapplication.databinding.ForgetPasswordActivityBinding
|
||||||
import com.google.firebase.crashlytics.buildtools.reloc.org.apache.http.util.TextUtils
|
import com.google.firebase.crashlytics.buildtools.reloc.org.apache.http.util.TextUtils
|
||||||
|
import com.gyf.immersionbar.ImmersionBar
|
||||||
import java.util.regex.Pattern
|
import java.util.regex.Pattern
|
||||||
import kotlin.random.Random
|
import kotlin.random.Random
|
||||||
|
|
||||||
@@ -34,6 +35,10 @@ class ForgetPasswordActivity : AppCompatActivity() {
|
|||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
binding = ForgetPasswordActivityBinding.inflate(layoutInflater)
|
binding = ForgetPasswordActivityBinding.inflate(layoutInflater)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
ImmersionBar.with(this)
|
||||||
|
.statusBarDarkFont(true)
|
||||||
|
.titleBar(binding.topContainer)
|
||||||
|
.init()
|
||||||
// 设置渐变背景
|
// 设置渐变背景
|
||||||
val startColor = Color.parseColor("#CBEBFA")
|
val startColor = Color.parseColor("#CBEBFA")
|
||||||
val endColor = Color.parseColor("#FFF2EF")
|
val endColor = Color.parseColor("#FFF2EF")
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import androidx.appcompat.app.AppCompatActivity
|
|||||||
import androidx.constraintlayout.widget.ConstraintLayout
|
import androidx.constraintlayout.widget.ConstraintLayout
|
||||||
import androidx.constraintlayout.widget.ConstraintSet
|
import androidx.constraintlayout.widget.ConstraintSet
|
||||||
import com.example.defenseapplication.databinding.ActivityLoginBinding
|
import com.example.defenseapplication.databinding.ActivityLoginBinding
|
||||||
|
import com.gyf.immersionbar.ImmersionBar
|
||||||
|
|
||||||
class LoginActivity : AppCompatActivity() {
|
class LoginActivity : AppCompatActivity() {
|
||||||
|
|
||||||
@@ -29,6 +30,11 @@ class LoginActivity : AppCompatActivity() {
|
|||||||
val endColor = Color.parseColor("#FFF2EF")
|
val endColor = Color.parseColor("#FFF2EF")
|
||||||
setGradientBackground(binding.main, startColor, endColor)
|
setGradientBackground(binding.main, startColor, endColor)
|
||||||
|
|
||||||
|
ImmersionBar.with(this)
|
||||||
|
.statusBarDarkFont(true)
|
||||||
|
.titleBar(binding.logoFrame)
|
||||||
|
.init()
|
||||||
|
|
||||||
setupTabListeners()
|
setupTabListeners()
|
||||||
setupClickListeners()
|
setupClickListeners()
|
||||||
switchToSmsMode()
|
switchToSmsMode()
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import android.os.Bundle
|
|||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import com.example.defenseapplication.databinding.RegisterActivityBinding
|
import com.example.defenseapplication.databinding.RegisterActivityBinding
|
||||||
|
import com.gyf.immersionbar.ImmersionBar
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 注册页面
|
* 注册页面
|
||||||
@@ -25,6 +26,12 @@ class RegisterActivity : AppCompatActivity() {
|
|||||||
val startColor = Color.parseColor("#CBEBFA")
|
val startColor = Color.parseColor("#CBEBFA")
|
||||||
val endColor = Color.parseColor("#FFF2EF")
|
val endColor = Color.parseColor("#FFF2EF")
|
||||||
setGradientBackground(binding.main, startColor, endColor)
|
setGradientBackground(binding.main, startColor, endColor)
|
||||||
|
|
||||||
|
ImmersionBar.with(this)
|
||||||
|
.statusBarDarkFont(true)
|
||||||
|
.titleBar(binding.topContainer)
|
||||||
|
.init()
|
||||||
|
|
||||||
setupListeners()
|
setupListeners()
|
||||||
//setupTextWatchers()
|
//setupTextWatchers()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import androidx.core.view.WindowInsetsCompat
|
|||||||
import com.example.defenseapplication.R
|
import com.example.defenseapplication.R
|
||||||
import com.example.defenseapplication.databinding.RegisterSuccessActivityBinding
|
import com.example.defenseapplication.databinding.RegisterSuccessActivityBinding
|
||||||
import com.example.defenseapplication.home.HomeActivity
|
import com.example.defenseapplication.home.HomeActivity
|
||||||
|
import com.gyf.immersionbar.ImmersionBar
|
||||||
|
|
||||||
class RegisterSuccessActivity : AppCompatActivity() {
|
class RegisterSuccessActivity : AppCompatActivity() {
|
||||||
|
|
||||||
@@ -19,6 +20,10 @@ class RegisterSuccessActivity : AppCompatActivity() {
|
|||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
binding = RegisterSuccessActivityBinding.inflate(layoutInflater)
|
binding = RegisterSuccessActivityBinding.inflate(layoutInflater)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
ImmersionBar.with(this)
|
||||||
|
.statusBarDarkFont(true)
|
||||||
|
.titleBar(binding.topContainer)
|
||||||
|
.init()
|
||||||
// 返回按钮
|
// 返回按钮
|
||||||
binding.backIcon.setOnClickListener {
|
binding.backIcon.setOnClickListener {
|
||||||
finish()
|
finish()
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import androidx.core.view.WindowInsetsCompat
|
|||||||
import com.bumptech.glide.Glide
|
import com.bumptech.glide.Glide
|
||||||
import com.example.defenseapplication.R
|
import com.example.defenseapplication.R
|
||||||
import com.example.defenseapplication.databinding.PersonalProfileActivityBinding
|
import com.example.defenseapplication.databinding.PersonalProfileActivityBinding
|
||||||
|
import com.gyf.immersionbar.ImmersionBar
|
||||||
|
|
||||||
class PersonalProfileActivity : AppCompatActivity() {
|
class PersonalProfileActivity : AppCompatActivity() {
|
||||||
private lateinit var binding: PersonalProfileActivityBinding
|
private lateinit var binding: PersonalProfileActivityBinding
|
||||||
@@ -17,7 +18,10 @@ class PersonalProfileActivity : AppCompatActivity() {
|
|||||||
enableEdgeToEdge()
|
enableEdgeToEdge()
|
||||||
binding = PersonalProfileActivityBinding.inflate(layoutInflater)
|
binding = PersonalProfileActivityBinding.inflate(layoutInflater)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
ImmersionBar.with(this)
|
||||||
|
.statusBarDarkFont(true)
|
||||||
|
.titleBar(binding.topBar)
|
||||||
|
.init()
|
||||||
ViewCompat.setOnApplyWindowInsetsListener(binding.main) { v, insets ->
|
ViewCompat.setOnApplyWindowInsetsListener(binding.main) { v, insets ->
|
||||||
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
|
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
|
||||||
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
|
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
android:paddingBottom="12dp">
|
android:paddingBottom="12dp">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
|
android:id="@+id/main"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:gravity="center_vertical"
|
android:gravity="center_vertical"
|
||||||
|
|||||||
@@ -30,7 +30,6 @@
|
|||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:text="智能防御机A1"
|
android:text="智能防御机A1"
|
||||||
android:textColor="@color/black"
|
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
|||||||
@@ -1,50 +1,49 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:id="@+id/main"
|
android:id="@+id/main"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="@color/message_bg"
|
android:background="@color/message_bg"
|
||||||
|
android:orientation="vertical"
|
||||||
tools:context=".home.MessageActivity">
|
tools:context=".home.MessageActivity">
|
||||||
|
|
||||||
<ImageView
|
<LinearLayout
|
||||||
android:id="@+id/ivBack"
|
android:id="@+id/topBar"
|
||||||
android:layout_width="24dp"
|
android:gravity="center"
|
||||||
android:layout_height="24dp"
|
android:layout_width="match_parent"
|
||||||
android:layout_marginStart="16dp"
|
|
||||||
android:layout_marginTop="10dp"
|
|
||||||
android:contentDescription="@null"
|
|
||||||
android:src="@mipmap/back"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tvTitle"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="10dp"
|
android:orientation="horizontal">
|
||||||
android:text="消息列表"
|
<ImageView
|
||||||
android:textColor="#333333"
|
android:id="@+id/ivBack"
|
||||||
android:textSize="24sp"
|
android:layout_width="24dp"
|
||||||
android:textStyle="bold"
|
android:layout_height="24dp"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
android:src="@mipmap/back"/>
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
<TextView
|
||||||
|
android:gravity="center"
|
||||||
|
android:id="@+id/tvTitle"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:text="消息列表"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="16dp"
|
||||||
|
android:textStyle="bold"/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
<androidx.recyclerview.widget.RecyclerView
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
android:id="@+id/rvMessageList"
|
android:id="@+id/rvMessageList"
|
||||||
android:layout_width="0dp"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="0dp"
|
android:layout_height="wrap_content"
|
||||||
android:clipToPadding="false"
|
android:clipToPadding="false"
|
||||||
android:paddingStart="16dp"
|
android:paddingStart="16dp"
|
||||||
android:paddingTop="12dp"
|
android:paddingTop="12dp"
|
||||||
android:paddingEnd="16dp"
|
android:paddingEnd="16dp"
|
||||||
android:paddingBottom="16dp"
|
android:paddingBottom="16dp"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toBottomOf="@id/tvTitle"
|
|
||||||
tools:listitem="@layout/item_message_notice" />
|
tools:listitem="@layout/item_message_notice" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</LinearLayout>
|
||||||
Reference in New Issue
Block a user