优化提前显示面板

This commit is contained in:
squallzhjch
2023-05-05 10:07:55 +08:00
parent 53bb2f3ca6
commit 4280c0bf0b
14 changed files with 313 additions and 17 deletions

View File

@@ -2,6 +2,7 @@ package com.navinfo.omqs.ui.activity.login
import android.content.Intent
import android.os.Bundle
import android.util.DisplayMetrics
import android.util.Log
import android.widget.Toast
import androidx.activity.viewModels
@@ -33,8 +34,35 @@ class LoginActivity : CheckPermissionsActivity() {
binding.lifecycleOwner = this
binding.activity = this
initView()
Log.e("jingo", getScreenParams())
}
private fun getScreenParams(): String {
val dm = DisplayMetrics();
windowManager.defaultDisplay.getMetrics(dm);
val heightPixels = dm.heightPixels;//高的像素
val widthPixels = dm.widthPixels;//宽的像素
val densityDpi = dm.densityDpi;//dpi
val xdpi = dm.xdpi;//xdpi
val ydpi = dm.ydpi;//ydpi
val density = dm.density;//density=dpi/160,密度比
val scaledDensity = dm.scaledDensity;//scaledDensity=dpi/160 字体缩放密度比
val heightDP = heightPixels / density;//高度的dp
val widthDP = widthPixels / density;//宽度的dp
var str = "heightPixels: " + heightPixels + "px";
str += "\nwidthPixels: " + widthPixels + "px";
str += "\ndensityDpi: " + densityDpi + "dpi";
str += "\nxdpi: " + xdpi + "dpi";
str += "\nydpi: " + ydpi + "dpi";
str += "\ndensity: " + density;
str += "\nscaledDensity: " + scaledDensity;
str += "\nheightDP: " + heightDP + "dp";
str += "\nwidthDP: " + widthDP + "dp";
return str;
}
/**
* 观察登录状态把Observer提出来是为了防止每次数据变化都会有新的observer创建
* 还有为了方便释放需不需要手动释放不清楚不需要释放当viewmodel观察到activity/fragment 的生命周期时会自动释放

View File

@@ -17,7 +17,9 @@ import com.navinfo.omqs.R
import com.navinfo.omqs.databinding.ActivityMainBinding
import com.navinfo.omqs.http.offlinemapdownload.OfflineMapDownloadManager
import com.navinfo.omqs.ui.activity.BaseActivity
import com.navinfo.omqs.ui.widget.RecyclerViewSpacesItemDecoration
import dagger.hilt.android.AndroidEntryPoint
import org.videolan.vlc.Util
import javax.inject.Inject
/**
@@ -90,7 +92,6 @@ class MainActivity : BaseActivity() {
}
}
return v?.onTouchEvent(event) ?: true
}
})
@@ -101,6 +102,14 @@ class MainActivity : BaseActivity() {
}
binding.mainActivitySignRecyclerview.layoutManager = LinearLayoutManager(this)
binding.mainActivitySignRecyclerview.adapter = signAdapter
//增加4dp的间隔
binding.mainActivitySignRecyclerview.addItemDecoration(
RecyclerViewSpacesItemDecoration(
Util.convertDpToPx(
this, 4
)
)
)
viewModel.liveDataSignList.observe(this) {
signAdapter.refreshData(it)
}

View File

@@ -32,6 +32,7 @@ import com.navinfo.omqs.bean.SignBean
import com.navinfo.omqs.db.RealmOperateHelper
import com.navinfo.omqs.ui.dialog.CommonDialog
import com.navinfo.omqs.ui.manager.TakePhotoManager
import com.navinfo.omqs.ui.widget.SignUtil
import com.navinfo.omqs.util.DateTimeUtil
import com.navinfo.omqs.util.SoundMeter
import com.navinfo.omqs.util.SpeakMode
@@ -66,6 +67,7 @@ class MainViewModel @Inject constructor(
val liveDataSignList = MutableLiveData<List<SignBean>>()
var testPoint = GeoPoint(0, 0)
//语音窗体
private var pop: PopupWindow? = null
@@ -84,7 +86,7 @@ class MainViewModel @Inject constructor(
})
initLocation()
viewModelScope.launch {
mapController.onMapClickFlow.collect {
mapController.onMapClickFlow.collectLatest {
testPoint = it
}
}
@@ -154,8 +156,8 @@ class MainViewModel @Inject constructor(
)
signList.add(
SignBean(
iconId = R.drawable.icon_speed_limit,
iconText = element.name,
iconId = SignUtil.getSignIcon(element),
iconText = SignUtil.getSignText(element),
distance = distance.toInt(),
elementId = element.id,
linkId = linkId,
@@ -230,7 +232,7 @@ class MainViewModel @Inject constructor(
fun startSoundMetter(context: Context, v: View) {
if(mSpeakMode==null){
if (mSpeakMode == null) {
mSpeakMode = SpeakMode(context as Activity?)
}
@@ -274,7 +276,8 @@ class MainViewModel @Inject constructor(
}
mSpeakMode!!.speakText("结束录音")
//获取右侧fragment容器
val naviController = (context as Activity).findNavController(R.id.main_activity_right_fragment)
val naviController =
(context as Activity).findNavController(R.id.main_activity_right_fragment)
val bundle = Bundle()
bundle.putString("filePath", filePath)
naviController.navigate(R.id.EvaluationResultFragment, bundle)