增加坐标复制和测量结果复制功能

This commit is contained in:
squallzhjch 2023-08-11 17:24:56 +08:00
parent 4417201497
commit dc4c6daf2e
3 changed files with 27 additions and 5 deletions

View File

@ -1,6 +1,9 @@
package com.navinfo.omqs.ui.activity.map package com.navinfo.omqs.ui.activity.map
import android.app.Activity import android.app.Activity
import android.content.ClipData
import android.content.ClipboardManager
import android.content.Context
import android.content.Intent import android.content.Intent
import android.os.Build import android.os.Build
import android.os.Bundle import android.os.Bundle
@ -8,6 +11,7 @@ import android.speech.tts.TextToSpeech
import android.util.Log import android.util.Log
import android.view.MotionEvent import android.view.MotionEvent
import android.view.View import android.view.View
import android.view.View.OnLongClickListener
import android.widget.EditText import android.widget.EditText
import android.widget.TextView import android.widget.TextView
import android.widget.Toast import android.widget.Toast
@ -19,6 +23,7 @@ import androidx.lifecycle.lifecycleScope
import androidx.navigation.findNavController import androidx.navigation.findNavController
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.blankj.utilcode.util.ClipboardUtils
import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.google.android.material.tabs.TabLayout import com.google.android.material.tabs.TabLayout
import com.navinfo.collect.library.map.NIMapController import com.navinfo.collect.library.map.NIMapController
@ -178,6 +183,14 @@ class MainActivity : BaseActivity() {
//给xml传递viewModel对象 //给xml传递viewModel对象
binding.viewModel = viewModel binding.viewModel = viewModel
binding.mainActivityGeometry.setOnLongClickListener {
var text = (it as TextView).text
text = text.substring(4)
ClipboardUtils.copyText(text)
BaseToast.makeText(this, "坐标已复制到剪切板", BaseToast.LENGTH_SHORT).show()
true
}
binding.mainActivityVoice.setOnTouchListener { v, event -> binding.mainActivityVoice.setOnTouchListener { v, event ->
when (event?.action) { when (event?.action) {
MotionEvent.ACTION_DOWN -> { MotionEvent.ACTION_DOWN -> {
@ -422,6 +435,13 @@ class MainActivity : BaseActivity() {
.setOnClickListener(measuringToolClickListener) .setOnClickListener(measuringToolClickListener)
root.findViewById<View>(R.id.measuring_tool_angle) root.findViewById<View>(R.id.measuring_tool_angle)
.setOnClickListener(measuringToolClickListener) .setOnClickListener(measuringToolClickListener)
root.findViewById<View>(R.id.measuring_tool_value_layout).setOnLongClickListener {
val value = root.findViewById<TextView>(R.id.measuring_tool_value).text
val unit = root.findViewById<TextView>(R.id.measuring_tool_value_unit).text
ClipboardUtils.copyText("$value$unit")
BaseToast.makeText(this, "测量结果已复制到剪切板", BaseToast.LENGTH_SHORT).show()
true
}
} }
/** /**
@ -513,6 +533,7 @@ class MainActivity : BaseActivity() {
binding.mainActivityMeasuringTool.root.visibility = View.GONE binding.mainActivityMeasuringTool.root.visibility = View.GONE
} }
//根据输入的经纬度跳转坐标 //根据输入的经纬度跳转坐标
fun jumpPosition() { fun jumpPosition() {
val view = this.layoutInflater.inflate(R.layout.dialog_view_edittext, null) val view = this.layoutInflater.inflate(R.layout.dialog_view_edittext, null)
@ -522,7 +543,7 @@ class MainActivity : BaseActivity() {
val editText = view.findViewById<EditText>(R.id.dialog_edittext) val editText = view.findViewById<EditText>(R.id.dialog_edittext)
val tabItemLayout = view.findViewById<TabLayout>(R.id.search_tab_layout) val tabItemLayout = view.findViewById<TabLayout>(R.id.search_tab_layout)
editText.hint = "请输入LinkPid例如12345678" editText.hint = "请输入LinkPid例如12345678"
var index:Int = 0 var index = 0
tabItemLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { tabItemLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener {
override fun onTabReselected(p0: TabLayout.Tab) { override fun onTabReselected(p0: TabLayout.Tab) {
@ -973,6 +994,7 @@ class MainActivity : BaseActivity() {
) )
) )
} }
/** /**
* 关闭底部导航栏 * 关闭底部导航栏
*/ */

View File

@ -212,7 +212,6 @@
android:drawableLeft="@drawable/icon_main_geometry" android:drawableLeft="@drawable/icon_main_geometry"
android:elevation="2dp" android:elevation="2dp"
android:gravity="center" android:gravity="center"
android:onClick="@{()->mainActivity.jumpPosition()}"
android:paddingLeft="9dp" android:paddingLeft="9dp"
android:text="经纬度:116.99388424,38.8403844" android:text="经纬度:116.99388424,38.8403844"
android:textSize="10sp" android:textSize="10sp"

View File

@ -9,6 +9,7 @@
android:padding="5dp"> android:padding="5dp">
<LinearLayout <LinearLayout
android:id="@+id/measuring_tool_value_layout"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginRight="5dp" android:layout_marginRight="5dp"