调整UI
增加道路属性面板
This commit is contained in:
parent
00f39555ab
commit
dc6b4b91e5
@ -6,7 +6,7 @@ import kotlinx.parcelize.Parcelize
|
||||
@Parcelize
|
||||
data class SignBean(
|
||||
//图标ID
|
||||
val iconId: Int,
|
||||
var iconId: Int = 0,
|
||||
//定位点到目标距离
|
||||
val distance: Int = 0,
|
||||
//图表中的问题
|
||||
@ -18,7 +18,7 @@ data class SignBean(
|
||||
//坐标
|
||||
val geometry: String,
|
||||
//底部文字
|
||||
val bottomText: String,
|
||||
val name: String,
|
||||
//底部右侧文字
|
||||
val bottomRightText: String,
|
||||
//要素code类型
|
||||
|
@ -12,6 +12,7 @@ import androidx.databinding.DataBindingUtil
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.navigation.findNavController
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.blankj.utilcode.util.SPStaticUtils
|
||||
import com.google.gson.Gson
|
||||
import com.google.gson.reflect.TypeToken
|
||||
@ -23,6 +24,7 @@ import com.navinfo.omqs.databinding.ActivityMainBinding
|
||||
import com.navinfo.omqs.http.offlinemapdownload.OfflineMapDownloadManager
|
||||
import com.navinfo.omqs.tools.LayerConfigUtils
|
||||
import com.navinfo.omqs.ui.activity.BaseActivity
|
||||
import com.navinfo.omqs.ui.widget.RecycleViewDivider
|
||||
import com.navinfo.omqs.util.FlowEventBus
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import kotlinx.coroutines.launch
|
||||
@ -52,12 +54,11 @@ class MainActivity : BaseActivity() {
|
||||
findNavController(R.id.main_activity_right_fragment)
|
||||
}
|
||||
|
||||
/**
|
||||
* 提前显示要素看板
|
||||
*/
|
||||
private val signAdapter by lazy {
|
||||
SignAdapter { position, signBean ->
|
||||
// val directions =
|
||||
// EmptyFragmentDirections.emptyFragmentToEvaluationResultFragment(
|
||||
// )
|
||||
// rightController.navigate(directions)
|
||||
rightController.currentDestination?.let {
|
||||
if (it.id == R.id.EmptyFragment) {
|
||||
val bundle = Bundle()
|
||||
@ -68,6 +69,22 @@ class MainActivity : BaseActivity() {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 道路信息看板
|
||||
*/
|
||||
private val topSignAdapter by lazy {
|
||||
TopSignAdapter { position, signBean ->
|
||||
rightController.currentDestination?.let {
|
||||
if (it.id == R.id.EmptyFragment) {
|
||||
val bundle = Bundle()
|
||||
bundle.putParcelable("SignBean", signBean)
|
||||
rightController.navigate(R.id.EvaluationResultFragment, bundle)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
WindowCompat.setDecorFitsSystemWindows(window, false)
|
||||
super.onCreate(savedInstanceState)
|
||||
@ -125,6 +142,18 @@ class MainActivity : BaseActivity() {
|
||||
|
||||
}
|
||||
|
||||
//道路属性面板
|
||||
binding.mainActivityTopSignRecyclerview.layoutManager = LinearLayoutManager(
|
||||
this,
|
||||
RecyclerView.HORIZONTAL, false
|
||||
)
|
||||
binding.mainActivityTopSignRecyclerview.addItemDecoration(
|
||||
RecycleViewDivider(this, LinearLayoutManager.HORIZONTAL)
|
||||
)
|
||||
binding.mainActivityTopSignRecyclerview.adapter = topSignAdapter
|
||||
|
||||
|
||||
//提前显示面板
|
||||
binding.mainActivitySignRecyclerview.layoutManager = LinearLayoutManager(this)
|
||||
binding.mainActivitySignRecyclerview.adapter = signAdapter
|
||||
//增加4dp的间隔
|
||||
@ -139,6 +168,10 @@ class MainActivity : BaseActivity() {
|
||||
signAdapter.refreshData(it)
|
||||
}
|
||||
|
||||
viewModel.liveDataTopSignList.observe(this) {
|
||||
topSignAdapter.refreshData(it)
|
||||
}
|
||||
|
||||
lifecycleScope.launch {
|
||||
// 初始化地图图层控制接收器
|
||||
FlowEventBus.subscribe<List<ImportConfig>>(
|
||||
|
@ -67,9 +67,12 @@ class MainViewModel @Inject constructor(
|
||||
//地图点击捕捉到的质检数据ID列表
|
||||
val liveDataQsRecordIdList = MutableLiveData<List<String>>()
|
||||
|
||||
//看板数据
|
||||
//左侧看板数据
|
||||
val liveDataSignList = MutableLiveData<List<SignBean>>()
|
||||
|
||||
//顶部看板数据
|
||||
val liveDataTopSignList = MutableLiveData<List<SignBean>>()
|
||||
|
||||
// var testPoint = GeoPoint(0, 0)
|
||||
|
||||
//语音窗体
|
||||
@ -150,8 +153,7 @@ class MainViewModel @Inject constructor(
|
||||
// location.latitude = testPoint.latitude
|
||||
val geometry = GeometryTools.createGeometry(
|
||||
GeoPoint(
|
||||
location.latitude,
|
||||
location.longitude
|
||||
location.latitude, location.longitude
|
||||
)
|
||||
)
|
||||
val tileX = RealmSet<Int>()
|
||||
@ -176,8 +178,7 @@ class MainViewModel @Inject constructor(
|
||||
mapController.locationLayerHandler.niLocationFlow.collectLatest { location ->
|
||||
// location.longitude = testPoint.longitude
|
||||
// location.latitude = testPoint.latitude
|
||||
if (!isSelectRoad())
|
||||
captureLink(GeoPoint(location.latitude, location.longitude))
|
||||
if (!isSelectRoad()) captureLink(GeoPoint(location.latitude, location.longitude))
|
||||
}
|
||||
}
|
||||
|
||||
@ -196,6 +197,8 @@ class MainViewModel @Inject constructor(
|
||||
)
|
||||
//看板数据
|
||||
val signList = mutableListOf<SignBean>()
|
||||
val topSignList = mutableListOf<SignBean>()
|
||||
|
||||
if (linkList.isNotEmpty()) {
|
||||
val link = linkList[0]
|
||||
val linkId = link.properties[RenderEntity.Companion.LinkTable.linkPid]
|
||||
@ -204,27 +207,36 @@ class MainViewModel @Inject constructor(
|
||||
var elementList = realmOperateHelper.queryLinkByLinkPid(it)
|
||||
for (element in elementList) {
|
||||
val distance = GeometryTools.distanceToDouble(
|
||||
point,
|
||||
GeometryTools.createGeoPoint(element.geometry)
|
||||
point, GeometryTools.createGeoPoint(element.geometry)
|
||||
)
|
||||
signList.add(
|
||||
SignBean(
|
||||
iconId = SignUtil.getSignIcon(element),
|
||||
iconText = SignUtil.getSignIconText(element),
|
||||
distance = distance.toInt(),
|
||||
elementId = element.id,
|
||||
linkId = linkId,
|
||||
geometry = element.geometry,
|
||||
bottomText = SignUtil.getSignBottomText(element),
|
||||
bottomRightText = SignUtil.getSignBottomRightText(element),
|
||||
elementCode = element.code
|
||||
|
||||
val signBean = SignBean(
|
||||
iconId = SignUtil.getSignIcon(element),
|
||||
iconText = SignUtil.getSignIconText(element),
|
||||
distance = distance.toInt(),
|
||||
elementId = element.id,
|
||||
linkId = linkId,
|
||||
geometry = element.geometry,
|
||||
name = SignUtil.getSignNameText(element),
|
||||
bottomRightText = SignUtil.getSignBottomRightText(element),
|
||||
elementCode = element.code
|
||||
)
|
||||
|
||||
when (element.code) {
|
||||
2041, 2008 -> topSignList.add(
|
||||
signBean
|
||||
)
|
||||
)
|
||||
else -> signList.add(
|
||||
signBean
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
liveDataSignList.postValue(signList)
|
||||
liveDataTopSignList.postValue(topSignList.distinctBy { it.elementCode })
|
||||
liveDataSignList.postValue(signList.distinctBy { it.elementCode })
|
||||
Log.e("jingo", "自动捕捉数据 共${signList.size}条")
|
||||
}
|
||||
}
|
||||
|
@ -23,9 +23,10 @@ class SignAdapter(private var itemListener: ((Int, SignBean) -> Unit?)? = null)
|
||||
override fun onBindViewHolder(holder: BaseViewHolder, position: Int) {
|
||||
val bd = holder.viewBinding as AdapterSignBinding
|
||||
val item = data[position]
|
||||
bd.signMainIcon.background = holder.viewBinding.root.context.getDrawable(item.iconId)
|
||||
if (item.iconId != 0)
|
||||
bd.signMainIcon.background = holder.viewBinding.root.context.getDrawable(item.iconId)
|
||||
bd.signMainIcon.text = item.iconText
|
||||
bd.signBottomText.text = item.bottomText
|
||||
bd.signBottomText.text = item.name
|
||||
bd.signBottomRightText.text = item.bottomRightText
|
||||
bd.root.setOnClickListener {
|
||||
itemListener?.invoke(position, item)
|
||||
|
@ -0,0 +1,34 @@
|
||||
package com.navinfo.omqs.ui.activity.map
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import com.navinfo.omqs.R
|
||||
import com.navinfo.omqs.bean.SignBean
|
||||
import com.navinfo.omqs.databinding.AdapterTopSignBinding
|
||||
import com.navinfo.omqs.ui.other.BaseRecyclerViewAdapter
|
||||
import com.navinfo.omqs.ui.other.BaseViewHolder
|
||||
|
||||
class TopSignAdapter(private var itemListener: ((Int, SignBean) -> Unit?)? = null) :
|
||||
BaseRecyclerViewAdapter<SignBean>() {
|
||||
override fun getItemViewRes(position: Int): Int {
|
||||
return R.layout.adapter_top_sign
|
||||
}
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BaseViewHolder {
|
||||
val viewBinding =
|
||||
AdapterTopSignBinding.inflate(LayoutInflater.from(parent.context), parent, false)
|
||||
return BaseViewHolder(viewBinding)
|
||||
}
|
||||
|
||||
override fun onBindViewHolder(holder: BaseViewHolder, position: Int) {
|
||||
val bd = holder.viewBinding as AdapterTopSignBinding
|
||||
val item = data[position]
|
||||
if (item.iconId != 0)
|
||||
bd.topSignText.background = holder.viewBinding.root.context.getDrawable(item.iconId)
|
||||
bd.topSignName.text = item.name
|
||||
bd.topSignText.text = item.iconText
|
||||
bd.root.setOnClickListener {
|
||||
itemListener?.invoke(position, item)
|
||||
}
|
||||
}
|
||||
}
|
@ -64,7 +64,7 @@ class EvaluationResultViewModel @Inject constructor(
|
||||
/**
|
||||
* 问题类型 liveData 给[MiddleAdapter]展示的数据
|
||||
*/
|
||||
val liveDataMiddleTypeList = MutableLiveData<List<String>>()
|
||||
// val liveDataMiddleTypeList = MutableLiveData<List<String>>()
|
||||
|
||||
/**
|
||||
* 问题现象 liveData 给[RightGroupHeaderAdapter]展示的数据
|
||||
@ -240,7 +240,7 @@ class EvaluationResultViewModel @Inject constructor(
|
||||
Log.e("jingo", "getProblemLinkList ${rightList[0].text}")
|
||||
}
|
||||
liveDataQsRecordBean.postValue(liveDataQsRecordBean.value)
|
||||
liveDataMiddleTypeList.postValue(middleList)
|
||||
// liveDataMiddleTypeList.postValue(middleList)
|
||||
liveDataRightTypeList.postValue(rightList)
|
||||
}
|
||||
}
|
||||
@ -272,7 +272,7 @@ class EvaluationResultViewModel @Inject constructor(
|
||||
liveDataQsRecordBean.value!!.problemType = typeTitleList[0]
|
||||
Log.e("jingo", "getProblemList ${typeTitleList[0]}")
|
||||
}
|
||||
liveDataMiddleTypeList.postValue(typeTitleList)
|
||||
// liveDataMiddleTypeList.postValue(typeTitleList)
|
||||
if (liveDataQsRecordBean.value!!.phenomenon.isEmpty()) {
|
||||
liveDataQsRecordBean.value!!.phenomenon = phenomenonRightList[0].text
|
||||
Log.e("jingo", "getProblemList ${phenomenonRightList[0].text}")
|
||||
|
@ -29,10 +29,18 @@ class LeftAdapter(private var itemListener: ((Int, String) -> Unit?)? = null) :
|
||||
val title = data[position]
|
||||
bd.itemId.text = title
|
||||
if (selectTitle == title) {
|
||||
bd.itemId.setBackgroundResource(R.drawable.shape_rect_white_2dp_bg)
|
||||
bd.itemLayout.setBackgroundColor(
|
||||
holder.viewBinding.root.context.getColor(
|
||||
R.color.button_press_color,
|
||||
)
|
||||
)
|
||||
bd.itemId.setTextColor(holder.viewBinding.root.context.getColor(R.color.highFontColor))
|
||||
} else {
|
||||
bd.itemId.setBackgroundResource(R.drawable.shape_rect_white_2dp_bg)
|
||||
bd.itemLayout.setBackgroundColor(
|
||||
holder.viewBinding.root.context.getColor(
|
||||
R.color.white,
|
||||
)
|
||||
)
|
||||
bd.itemId.setTextColor(holder.viewBinding.root.context.getColor(R.color.black))
|
||||
}
|
||||
bd.root.setOnClickListener {
|
||||
|
@ -106,15 +106,15 @@ class PhenomenonFragment :
|
||||
})
|
||||
|
||||
|
||||
//中间菜单
|
||||
binding.phenomenonMiddleRecyclerview.setHasFixedSize(true)
|
||||
binding.phenomenonMiddleRecyclerview.layoutManager = LinearLayoutManager(requireContext(), LinearLayoutManager.HORIZONTAL, false)
|
||||
|
||||
binding.phenomenonMiddleRecyclerview.adapter = middleAdapter
|
||||
// //中间菜单
|
||||
// binding.phenomenonMiddleRecyclerview.setHasFixedSize(true)
|
||||
// binding.phenomenonMiddleRecyclerview.layoutManager = LinearLayoutManager(requireContext(), LinearLayoutManager.HORIZONTAL, false)
|
||||
//
|
||||
// binding.phenomenonMiddleRecyclerview.adapter = middleAdapter
|
||||
//中间侧菜单查询结果监听
|
||||
viewModel.liveDataMiddleTypeList.observe(viewLifecycleOwner) {
|
||||
middleAdapter.refreshData(it)
|
||||
}
|
||||
// viewModel.liveDataMiddleTypeList.observe(viewLifecycleOwner) {
|
||||
// middleAdapter.refreshData(it)
|
||||
// }
|
||||
// binding.phenomenonDrawer.setOnClickListener {
|
||||
// when (binding.group.visibility) {
|
||||
// View.INVISIBLE, View.GONE ->
|
||||
|
@ -75,14 +75,14 @@ class ProblemLinkFragment : BaseFragment() {
|
||||
}
|
||||
})
|
||||
|
||||
//中间菜单
|
||||
binding.linkMiddleRecyclerview.setHasFixedSize(true)
|
||||
binding.linkMiddleRecyclerview.layoutManager = LinearLayoutManager(requireContext())
|
||||
binding.linkMiddleRecyclerview.adapter = middleAdapter
|
||||
// //中间菜单
|
||||
// binding.linkMiddleRecyclerview.setHasFixedSize(true)
|
||||
// binding.linkMiddleRecyclerview.layoutManager = LinearLayoutManager(requireContext())
|
||||
// binding.linkMiddleRecyclerview.adapter = middleAdapter
|
||||
//中间侧菜单查询结果监听
|
||||
viewModel.liveDataMiddleTypeList.observe(viewLifecycleOwner) {
|
||||
middleAdapter.refreshData(it)
|
||||
}
|
||||
// viewModel.liveDataMiddleTypeList.observe(viewLifecycleOwner) {
|
||||
// middleAdapter.refreshData(it)
|
||||
// }
|
||||
binding.linkDrawer.setOnClickListener {
|
||||
when (binding.group.visibility) {
|
||||
View.INVISIBLE, View.GONE ->
|
||||
|
@ -11,7 +11,7 @@ class RightGroupHeaderAdapter(private var itemListener: ((Int, RightBean) -> Uni
|
||||
BaseRecyclerViewAdapter<RightBean>() {
|
||||
private var groupTitleList = mutableListOf<String>()
|
||||
override fun getItemViewRes(position: Int): Int {
|
||||
return R.layout.text_item_select
|
||||
return R.layout.text_item_select2
|
||||
}
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BaseViewHolder {
|
||||
|
@ -7,6 +7,7 @@ import com.navinfo.omqs.R
|
||||
class SignUtil {
|
||||
companion object {
|
||||
|
||||
|
||||
/**
|
||||
* 获取面板上的文字
|
||||
*/
|
||||
@ -24,7 +25,7 @@ class SignUtil {
|
||||
}
|
||||
}
|
||||
|
||||
fun getSignBottomText(data: RenderEntity): String {
|
||||
fun getSignNameText(data: RenderEntity): String {
|
||||
return when (data.code) {
|
||||
//可变点限速
|
||||
4004 -> "可变点限速"
|
||||
@ -57,7 +58,7 @@ class SignUtil {
|
||||
* 条件点限速文字
|
||||
*/
|
||||
|
||||
fun getConditionLimitText(data: RenderEntity): String {
|
||||
private fun getConditionLimitText(data: RenderEntity): String {
|
||||
var stringBuffer = StringBuffer()
|
||||
try {
|
||||
val dependent = data.properties["speedDependent"]
|
||||
@ -121,7 +122,7 @@ class SignUtil {
|
||||
/**
|
||||
* 限速图标
|
||||
*/
|
||||
fun getSpeedLimitIcon(data: RenderEntity): Int {
|
||||
private fun getSpeedLimitIcon(data: RenderEntity): Int {
|
||||
try {
|
||||
//限速标志 0 限速开始 1 限速解除
|
||||
return when (data.properties["speed_flag"]) {
|
||||
@ -150,7 +151,7 @@ class SignUtil {
|
||||
4002, 4003 -> getSpeedLimitIcon(data)
|
||||
//可变点限速
|
||||
4004 -> R.drawable.icon_change_limit
|
||||
else -> R.drawable.icon_speed_limit
|
||||
else -> 0
|
||||
}
|
||||
|
||||
}
|
||||
@ -159,7 +160,7 @@ class SignUtil {
|
||||
/**
|
||||
* 获取种别图标
|
||||
*/
|
||||
fun getKindCodeIcon(data: RenderEntity): Int {
|
||||
private fun getKindCodeIcon(data: RenderEntity): Int {
|
||||
try {
|
||||
val kind = data.properties["kind"]
|
||||
return when (kind!!.toInt()) {
|
||||
|
5
app/src/main/res/color/selector_white_blue_color.xml
Normal file
5
app/src/main/res/color/selector_white_blue_color.xml
Normal file
@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_selected="true" android:color="@color/default_blue_text_color" />
|
||||
<item android:color="@color/white" />
|
||||
</selector>
|
@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:drawable="@color/default_blue_text_color" android:state_selected="true"></item>
|
||||
<item android:drawable="@color/black" />
|
||||
</selector>
|
@ -1,19 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<!-- <padding-->
|
||||
<!-- android:bottom="2dp"-->
|
||||
<!-- android:left="2dp"-->
|
||||
<!-- android:right="0dp"-->
|
||||
<!-- android:top="2dp" />-->
|
||||
<padding
|
||||
android:bottom="2dp"
|
||||
android:left="2dp"
|
||||
android:right="2dp"
|
||||
android:top="2dp" />
|
||||
<solid android:color="#FFFFFF" />
|
||||
<stroke
|
||||
android:width="1dp"
|
||||
android:color="#3756DF" />
|
||||
<corners
|
||||
android:bottomLeftRadius="4dp"
|
||||
android:bottomLeftRadius="5dp"
|
||||
android:bottomRightRadius="0dp"
|
||||
android:topLeftRadius="4dp"
|
||||
android:topLeftRadius="5dp"
|
||||
android:topRightRadius="0dp" />
|
||||
</shape>
|
||||
|
||||
|
7
app/src/main/res/drawable/shape_oval_blue_bg.xml
Normal file
7
app/src/main/res/drawable/shape_oval_blue_bg.xml
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="oval">
|
||||
|
||||
<solid android:color="@color/default_button_blue_color" />
|
||||
|
||||
</shape>
|
@ -51,6 +51,13 @@
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/main_activity_top_sign_recyclerview"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="60dp"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/main_activity_person_center"
|
||||
@ -259,8 +266,8 @@
|
||||
android:name="androidx.navigation.fragment.NavHostFragment"
|
||||
android:layout_width="323dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="30dp"
|
||||
android:layout_gravity="left"
|
||||
android:layout_marginTop="30dp"
|
||||
app:navGraph="@navigation/left_drawer_nav_graph" />
|
||||
|
||||
</androidx.drawerlayout.widget.DrawerLayout>
|
||||
|
28
app/src/main/res/layout/adapter_top_sign.xml
Normal file
28
app/src/main/res/layout/adapter_top_sign.xml
Normal file
@ -0,0 +1,28 @@
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
tools:context="com.navinfo.omqs.ui.activity.map.TopSignAdapter">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/top_sign_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:gravity="center"
|
||||
android:text="名称"
|
||||
android:textColor="#2F2F2F"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/top_sign_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/top_sign_name"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:gravity="center"
|
||||
android:text="道路名"
|
||||
android:textColor="#2F2F2F"
|
||||
android:textSize="14sp" />
|
||||
</RelativeLayout>
|
@ -18,31 +18,30 @@
|
||||
<!-- android:paddingBottom="30dp"-->
|
||||
<!-- android:src="@drawable/btn_back_xml" />-->
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/phenomenon_middle_recyclerview"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="35dp"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toLeftOf="@id/phenomenon_right_recyclerview"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
<!-- <androidx.recyclerview.widget.RecyclerView-->
|
||||
<!-- android:id="@+id/phenomenon_middle_recyclerview"-->
|
||||
<!-- android:layout_width="0dp"-->
|
||||
<!-- android:layout_height="35dp"-->
|
||||
<!-- app:layout_constraintLeft_toLeftOf="parent"-->
|
||||
<!-- app:layout_constraintRight_toLeftOf="@id/phenomenon_right_recyclerview"-->
|
||||
<!-- app:layout_constraintTop_toTopOf="parent" />-->
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/phenomenon_left_recyclerview"
|
||||
android:layout_width="0dp"
|
||||
android:layout_width="148dp"
|
||||
android:layout_height="0dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toLeftOf="@id/phenomenon_right_recyclerview"
|
||||
app:layout_constraintTop_toBottomOf="@id/phenomenon_middle_recyclerview" />
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/phenomenon_right_recyclerview"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toRightOf="@id/phenomenon_left_recyclerview"
|
||||
app:layout_constraintRight_toRightOf="parent" />
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<!-- <LinearLayout-->
|
||||
<!-- android:id="@+id/group"-->
|
||||
|
@ -1,20 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/item_layout"
|
||||
android:background="@color/white"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/selector_adapter_item_select_bg">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/item_id"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="3dp"
|
||||
android:padding = "3dp"
|
||||
android:gravity="center"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="18sp">
|
||||
android:padding="3dp"
|
||||
android:drawableLeft="@drawable/selector_task_link_edit_icon"
|
||||
android:textColor="@color/default_blue_text_color"
|
||||
android:textSize="14sp"/>
|
||||
|
||||
</TextView>
|
||||
|
||||
</RelativeLayout>
|
20
app/src/main/res/layout/text_item_select2.xml
Normal file
20
app/src/main/res/layout/text_item_select2.xml
Normal file
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/item_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/white">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/item_id"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="3dp"
|
||||
android:gravity="center_vertical"
|
||||
android:padding="3dp"
|
||||
android:drawableLeft=""
|
||||
android:textColor="@color/black"
|
||||
android:textSize="14sp"/>
|
||||
|
||||
|
||||
</RelativeLayout>
|
@ -8,5 +8,5 @@
|
||||
<dimen name="right_fragment_w" comment="右侧fragment宽度">256dp</dimen>
|
||||
<dimen name="main_activity_geometry_w" comment="地图主页坐标框宽度">230dp</dimen>
|
||||
<dimen name="main_activity_geometry_h" comment="地图主页坐标框高度">28dp</dimen>
|
||||
|
||||
<dimen name="fragment_phenomenon_width" comment="问题现象面板宽度">360dp</dimen>
|
||||
</resources>
|
@ -1,4 +1,4 @@
|
||||
<resources>
|
||||
<dimen name="fab_margin">48dp</dimen>
|
||||
<dimen name="fragment_phenomenon_width" comment="问题现象面板宽度">310dp</dimen>
|
||||
<dimen name="fragment_phenomenon_width" comment="问题现象面板宽度">360dp</dimen>
|
||||
</resources>
|
Loading…
x
Reference in New Issue
Block a user