main
huangwei 10 months ago
parent f1340d38bd
commit d05ec5d649
  1. 7
      app/build.gradle
  2. 27
      app/src/main/AndroidManifest.xml
  3. 3
      app/src/main/java/com/project/survey/activity/MainActivity.kt
  4. 19
      app/src/main/java/com/project/survey/activity/SplashActivity.kt
  5. 42
      app/src/main/java/com/project/survey/activity/base/BaseBindingActivity.kt
  6. 8
      app/src/main/res/drawable/bg_splash.xml
  7. BIN
      app/src/main/res/drawable/splash_img.png
  8. 23
      app/src/main/res/layout/activity_splash.xml
  9. 8
      app/src/main/res/values/styles.xml

@ -132,6 +132,7 @@ dependencies {
implementation AndroidX.multidex implementation AndroidX.multidex
implementation AndroidX.material implementation AndroidX.material
implementation AndroidX.appcompat implementation AndroidX.appcompat
implementation Libs.flycoTabLayout
testImplementation "junit:junit:4.13.2" testImplementation "junit:junit:4.13.2"
androidTestImplementation "androidx.test:runner:1.1.0" androidTestImplementation "androidx.test:runner:1.1.0"
@ -139,9 +140,7 @@ dependencies {
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0' androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0'
implementation 'com.google.android.gms:play-services-auth:20.7.0' implementation 'com.google.android.gms:play-services-auth:20.7.0'
implementation "androidx.core:core:1.13.1"
implementation "androidx.core:core-ktx:1.13.1"
implementation Libs.flycoTabLayout
} }

@ -47,17 +47,21 @@
<activity <activity
android:name=".activity.MainActivity" android:name=".activity.MainActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:exported="true" android:exported="true"
android:label="@string/app_name" android:label="@string/app_name"
android:windowSoftInputMode="adjustResize|stateHidden"> android:windowSoftInputMode="adjustResize|stateHidden">
</activity>
<activity
android:name=".activity.SplashActivity"
android:exported="true"
android:theme="@style/MySplashStyle">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter> </intent-filter>
</activity> </activity>
<!-- <activity--> <!-- <activity-->
@ -67,23 +71,6 @@
<!-- android:hardwareAccelerated="true"--> <!-- android:hardwareAccelerated="true"-->
<!-- android:windowSoftInputMode="adjustUnspecified|stateHidden" />--> <!-- android:windowSoftInputMode="adjustUnspecified|stateHidden" />-->
<activity
android:name=".activity.SplashActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:exported="true">
<!-- <meta-data-->
<!-- android:name="android.app.shortcuts"-->
<!-- android:resource="@xml/shortcuts" />-->
</activity>
<!-- <activity-->
<!-- android:name=".activity.user.LoginActivity"-->
<!-- android:configChanges="orientation|keyboardHidden|screenSize"-->
<!-- android:exported="true"-->
<!-- android:label="@string/log_in" />-->
</application> </application>

@ -3,12 +3,15 @@ package com.project.survey.activity
import com.project.survey.activity.base.BaseBindingActivity import com.project.survey.activity.base.BaseBindingActivity
import com.project.survey.databinding.ActivityMainBinding import com.project.survey.databinding.ActivityMainBinding
class MainActivity : BaseBindingActivity<ActivityMainBinding>() { class MainActivity : BaseBindingActivity<ActivityMainBinding>() {
override fun getBinding(): ActivityMainBinding { override fun getBinding(): ActivityMainBinding {
return ActivityMainBinding.inflate(layoutInflater) return ActivityMainBinding.inflate(layoutInflater)
} }
override fun initView() { override fun initView() {
} }
override fun initData() { override fun initData() {

@ -1,6 +1,23 @@
package com.project.survey.activity package com.project.survey.activity
import android.content.Intent
import com.project.survey.activity.base.BaseBindingActivity import com.project.survey.activity.base.BaseBindingActivity
import com.project.survey.databinding.ActivitySplashBinding
class SplashActivity :BaseBindingActivity<> { /**
* 启动页
*/
class SplashActivity : BaseBindingActivity<ActivitySplashBinding>() {
override fun getBinding(): ActivitySplashBinding {
return ActivitySplashBinding.inflate(layoutInflater)
}
override fun initView() {
startActivity(Intent(this, MainActivity::class.java))
finish()
}
override fun initData() {
}
} }

@ -3,27 +3,22 @@ package com.project.survey.activity.base
import android.os.Bundle import android.os.Bundle
import android.view.MenuItem import android.view.MenuItem
import android.view.View import android.view.View
import android.view.ViewGroup
import android.view.WindowManager import android.view.WindowManager
import android.widget.LinearLayout
import androidx.annotation.StringRes import androidx.annotation.StringRes
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.app.AppCompatDelegate import androidx.appcompat.app.AppCompatDelegate
import androidx.appcompat.widget.Toolbar import androidx.appcompat.widget.Toolbar
import androidx.core.content.ContextCompat
import androidx.viewbinding.ViewBinding import androidx.viewbinding.ViewBinding
import blankj.utilcode.util.Utils import blankj.utilcode.util.Utils
import com.project.survey.App import com.project.survey.App
import com.project.survey.R import com.project.survey.R
import com.project.survey.databinding.ActivityBaseBindingBinding
import org.polaric.colorful.Colorful import org.polaric.colorful.Colorful
abstract class BaseBindingActivity<VB : ViewBinding> : AppCompatActivity() { abstract class BaseBindingActivity<VB : ViewBinding> : AppCompatActivity() {
protected val mBinding get() = _binding!! protected val mBinding get() = _binding!!
private var _binding: VB? = null private var _binding: VB? = null
private lateinit var toolBar: Toolbar private var toolBar: Toolbar? = null
abstract fun getBinding(): VB abstract fun getBinding(): VB
@ -31,8 +26,8 @@ abstract class BaseBindingActivity<VB : ViewBinding> : AppCompatActivity() {
abstract fun initData() abstract fun initData()
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
initTheme()
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
initTheme()
setContentView(getContentView()) setContentView(getContentView())
initToolBar() initToolBar()
initView() initView()
@ -54,35 +49,34 @@ abstract class BaseBindingActivity<VB : ViewBinding> : AppCompatActivity() {
} }
private fun getContentView(): View { private fun getContentView(): View {
val baseBinding = ActivityBaseBindingBinding.inflate(layoutInflater) // val baseBinding = ActivityBaseBindingBinding.inflate(layoutInflater)
val layoutParams = LinearLayout.LayoutParams( // val layoutParams = LinearLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, // ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT // ViewGroup.LayoutParams.MATCH_PARENT
) // )
_binding = getBinding() _binding = getBinding()
baseBinding.llParent.addView(mBinding.root, layoutParams) // baseBinding.llParent.addView(mBinding.root, layoutParams)
baseBinding.llParent.setBackgroundColor( // baseBinding.llParent.setBackgroundColor(
ContextCompat.getColor( // ContextCompat.getColor(
this, // this,
R.color.bg_content_new // R.color.bg_content_new
) // )
) // )
return mBinding.root
toolBar = baseBinding.ilToolBar.toolbar
return baseBinding.root
} }
protected open fun initToolBar() { protected open fun initToolBar() {
toolBar = findViewById(R.id.toolbar)
setSupportActionBar(toolBar) setSupportActionBar(toolBar)
if (supportActionBar != null) supportActionBar!!.setDisplayHomeAsUpEnabled(true) if (supportActionBar != null) supportActionBar!!.setDisplayHomeAsUpEnabled(true)
} }
protected fun setToolbarTitle(text: String?) { protected fun setToolbarTitle(text: String?) {
toolBar.setTitle(text) toolBar?.setTitle(text)
} }
protected fun setToolbarTitle(@StringRes text: Int) { protected fun setToolbarTitle(@StringRes text: Int) {
toolBar.setTitle(text) toolBar?.setTitle(text)
} }
override fun onOptionsItemSelected(item: MenuItem): Boolean { override fun onOptionsItemSelected(item: MenuItem): Boolean {

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<bitmap
android:scaleType="centerCrop"
android:src="@drawable/splash_img" />
</item>
</layer-list>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

@ -1,31 +1,8 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:custom="http://schemas.android.com/apk/res-auto"
xmlns:tl="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="vertical">
<androidx.viewpager.widget.ViewPager
android:id="@+id/activity_main_viewpager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
<com.flyco.tablayout.CommonTabLayout
android:id="@+id/activity_main_tab_layout"
android:layout_width="match_parent"
android:layout_height="54dp"
android:background="#ffffff"
tl:tl_iconHeight="23dp"
tl:tl_iconWidth="23dp"
tl:tl_indicator_color="#3498db"
tl:tl_indicator_height="0dp"
tl:tl_textSelectColor="#3498db"
tl:tl_textUnselectColor="#666666"
tl:tl_textsize="12sp"
tl:tl_underline_color="#cfcfcf"
tl:tl_underline_gravity="TOP"
tl:tl_underline_height="1dp" />
</LinearLayout> </LinearLayout>

@ -20,6 +20,14 @@
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" /> <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
<style name="MySplashStyle" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowBackground">@drawable/bg_splash</item>
<!-- 透明掉状态栏,设置为true,状态栏有阴影,false则无阴影 -->
<item name="android:windowTranslucentStatus">false</item>
<!-- 设置状态栏颜色为透明色 -->
<item name="android:statusBarColor">@android:color/transparent</item>
</style>
<style name="item_text"> <style name="item_text">
<item name="android:textSize">25sp</item> <item name="android:textSize">25sp</item>
<item name="android:layout_margin">10dp</item> <item name="android:layout_margin">10dp</item>

Loading…
Cancel
Save