Commit be509ff3 authored by 马乐's avatar 马乐

1.增加欢迎页UI

parent 928a7ec7
This source diff could not be displayed because it is too large. You can view the blob instead.
package com.waytous.anticollision
import android.os.Bundle
import android.view.View
import androidx.appcompat.app.AppCompatActivity
import com.waytous.anticollision.databinding.ActivitySplashBinding
class SplashActivity : AppCompatActivity() {
private lateinit var binding:ActivitySplashBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
window.decorView.apply {
// Hide both the navigation bar and the status bar.
// SYSTEM_UI_FLAG_FULLSCREEN is only available on Android 4.1 and higher, but as
// a general rule, you should design your app to hide the status bar whenever you
// hide the navigation bar.
systemUiVisibility = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN
}
binding = ActivitySplashBinding.inflate(layoutInflater)
setContentView(binding.root)
"${getString(R.string.text_progress, 26)}%".also { binding.textProgress.text = it }
binding.loadingProgressBar.progress = 26
binding.loadingProgressBar.show()
}
}
\ No newline at end of file
package com.waytous.anticollision
package com.waytous.anticollision.activity
import android.os.Bundle
import android.os.RecoverySystem
import androidx.appcompat.app.AppCompatActivity
import androidx.navigation.fragment.NavHostFragment
import androidx.navigation.ui.setupWithNavController
import com.blankj.utilcode.util.Utils
import com.google.android.material.bottomnavigation.BottomNavigationView
import com.gyf.immersionbar.ImmersionBar
import com.waytous.anticollision.R
import com.waytous.anticollision.config.DeviceConfig
import com.waytous.anticollision.databinding.ActivityMainBinding
import com.waytous.anticollision.tcp.Session
import io.github.toggery.jt808.messagebody.B8001
import kotlin.concurrent.thread
class MainActivity : AppCompatActivity() {
......@@ -20,7 +18,6 @@ class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
supportActionBar?.hide()
ImmersionBar.with(this)
.statusBarAlpha(0.0f)
......@@ -32,10 +29,10 @@ class MainActivity : AppCompatActivity() {
DeviceConfig.province = 11
DeviceConfig.city = 0
DeviceConfig.phoneNumber = "18801011111"
DeviceConfig.phoneNumber = "18801022222"
DeviceConfig.HostConfig.host = "192.168.9.48"
DeviceConfig.HostConfig.port = 6608
DeviceConfig.HostConfig.host = "47.100.112.218"
DeviceConfig.HostConfig.port = 8808
val session = Session()
thread { session.login() }
}
......
......@@ -7,16 +7,21 @@ import android.view.ViewGroup
import android.widget.TextView
import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider
import com.blankj.utilcode.util.LogUtils
import com.mapbox.geojson.Point
import com.mapbox.maps.CameraOptions
import com.mapbox.maps.MapView
import com.mapbox.maps.Style
import com.mapbox.maps.extension.observable.eventdata.MapLoadingErrorEventData
import com.mapbox.maps.extension.style.layers.generated.lineLayer
import com.mapbox.maps.extension.style.layers.properties.generated.LineCap
import com.mapbox.maps.extension.style.layers.properties.generated.LineJoin
import com.mapbox.maps.extension.style.sources.TileSet
import com.mapbox.maps.extension.style.sources.generated.geoJsonSource
import com.mapbox.maps.extension.style.style
import com.mapbox.maps.plugin.delegates.listeners.OnMapLoadErrorListener
import com.mapbox.maps.renderer.RendererError
import com.mapbox.maps.renderer.RendererSetupErrorListener
import com.waytous.anticollision.databinding.FragmentHomeBinding
class HomeFragment : Fragment() {
......@@ -48,10 +53,19 @@ class HomeFragment : Fragment() {
// ))
.zoom(ZOOM).build()
)
mapView.getMapboxMap().loadStyle(style(Style.OUTDOORS){
mapView.getMapboxMap().addOnMapLoadErrorListener(object :OnMapLoadErrorListener{
override fun onMapLoadError(eventData: MapLoadingErrorEventData) {
LogUtils.e("OnMapLoadErrorListener:${eventData.message}")
}
})
mapView.addRendererSetupErrorListener {
error -> LogUtils.e("RendererSetupErrorListener:${error}")
}
mapView.getMapboxMap().loadStyle(style(Style.SATELLITE_STREETS){
+geoJsonSource(GEOJSON_SOURCE_ID)
{
url("asset://multiple_geometry_example.geojson")
url("asset://xian.geojson")
}
// +lineLayer("linelayer", GEOJSON_SOURCE_ID) {
// lineCap(LineCap.ROUND)
......@@ -70,9 +84,9 @@ class HomeFragment : Fragment() {
}
companion object {
private const val GEOJSON_SOURCE_ID = "geo-json"
private const val LATITUDE = -77.0911931991577
private const val LONGITUDE = 38.95653886174238
private const val GEOJSON_SOURCE_ID = "tile"
private const val LATITUDE = 108.926593
private const val LONGITUDE = 34.213389
private const val ZOOM = 14.0
}
}
\ No newline at end of file
package com.waytous.anticollision.viewmodel.settings
import androidx.lifecycle.ViewModel
import com.waytous.anticollision.config.Settings
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.asStateFlow
class SettingsViewModel: ViewModel() {
private val settingStatus = MutableStateFlow(Settings)
val _settingsStatus = settingStatus.asStateFlow()
}
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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="match_parent"
android:layout_height="match_parent"
tools:context=".SplashActivity">
<ImageView
android:layout_width="166dp"
android:layout_height="25.5dp"
android:contentDescription="@string/waytous_logo"
android:src="@mipmap/waytous_logo"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/loading"
android:textSize="12sp"
android:textColor="@color/color_ff333333"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
android:layout_marginBottom="88dp"
/>
<androidx.core.widget.ContentLoadingProgressBar
android:id="@+id/loadingProgressBar"
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
android:layout_width="340dp"
android:layout_height="10dp"
android:progress="26"
android:visibility="visible"
android:progressDrawable="@drawable/drawable_loading_progress"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
android:layout_marginBottom="62dp"
/>
<TextView
android:id="@+id/textProgress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/text_progress"
android:textSize="10sp"
android:textColor="@color/color_0052D8"
android:layout_marginStart="12.5dp"
app:layout_constraintLeft_toRightOf="@id/loadingProgressBar"
app:layout_constraintTop_toTopOf="@id/loadingProgressBar"
app:layout_constraintBottom_toBottomOf="@id/loadingProgressBar"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<navigation 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:id="@+id/activity_navigation"
app:startDestination="@id/splashActivity">
<activity
android:id="@+id/splashActivity"
android:name="com.waytous.anticollision.SplashActivity"
android:label="activity_splash"
tools:layout="@layout/activity_splash" />
<activity
android:id="@+id/mainActivity"
android:name="com.waytous.anticollision.activity.MainActivity"
android:label="MainActivity"
/>
</navigation>
\ No newline at end of file
......@@ -9,8 +9,23 @@
<item name="colorSecondary">@color/teal_200</item>
<item name="colorSecondaryVariant">@color/teal_200</item>
<item name="colorOnSecondary">@color/black</item>
<!-- Status bar color. -->
<!-- <item name="android:statusBarColor">?attr/colorPrimaryVariant</item>-->
<!-- Customize your theme here. -->
<!--设置顶部状态栏是否为透明-->
<item name="android:windowTranslucentStatus">false</item>
<!--Android 5.x开始需要把颜色设置透明,否则顶部导航栏会呈现系统默认的浅灰色-->
<item name="android:statusBarColor">@android:color/transparent</item>
<!--设置顶部状态栏和底部导航栏是否为透明-->
<item name="android:windowTranslucentNavigation">true</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
</style>
<!-- 启动页 -->
<style name="SplashTheme" parent="Theme.HTAnticollision">
<item name="android:windowDisablePreview">false</item>
</style>
</resources>
\ No newline at end of file
......@@ -7,4 +7,6 @@
<color name="teal_700">#FF018786</color>
<color name="black">#FF000000</color>
<color name="white">#FFFFFFFF</color>
<color name="color_ff333333">#ff333333</color>
<color name="color_0052D8">#ff0052d8</color>
</resources>
\ No newline at end of file
......@@ -3,6 +3,8 @@
<string name="title_home">Home</string>
<string name="title_dashboard">Dashboard</string>
<string name="title_notifications">Notifications</string>
<string name="waytous_logo">waytous</string>
<string name="loading">Loading…</string>
<string name="text_progress">%1$d</string>
<string name="map_box_public_key">pk.eyJ1IjoibWFybGxlciIsImEiOiJjbGVhMXlmeXIwdmRzM29vNmM4aDA1M202In0.tfLD_AOs1OPmg5rLERcbfw</string>
</resources>
\ No newline at end of file
......@@ -9,8 +9,23 @@
<item name="colorSecondary">@color/teal_200</item>
<item name="colorSecondaryVariant">@color/teal_700</item>
<item name="colorOnSecondary">@color/black</item>
<!-- Status bar color. -->
<!-- <item name="android:statusBarColor">?attr/colorPrimaryVariant</item>-->
<!-- Customize your theme here. -->
</style>
<!-- 启动页 -->
<style name="SplashTheme" parent="Theme.HTAnticollision">
<!--给window窗口设置背景图-->
<item name="android:windowBackground">@mipmap/splash_background</item>
<!--设置顶部状态栏是否为透明-->
<item name="android:windowTranslucentStatus">false</item>
<!--Android 5.x开始需要把颜色设置透明,否则顶部导航栏会呈现系统默认的浅灰色-->
<item name="android:statusBarColor">@android:color/transparent</item>
<!--设置顶部状态栏和底部导航栏是否为透明-->
<item name="android:windowTranslucentNavigation">true</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowDisablePreview">false</item>
</style>
</resources>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment