Przeglądaj źródła

activity share & custom timer

zhaoyadi 2 lat temu
rodzic
commit
ffffb5eea0

+ 6 - 0
ui/src/main/AndroidManifest.xml

@@ -56,5 +56,11 @@
             android:launchMode="singleTop"
             android:screenOrientation="landscape"
             android:theme="@style/AppTheme.Dialog" />
+
+        <activity
+            android:name=".PlayerWheel"
+            android:launchMode="singleTop"
+            android:screenOrientation="landscape"
+            android:theme="@style/AppTheme.Dialog" />
     </application>
 </manifest>

+ 50 - 9
ui/src/main/kotlin/com/tencent/liteav/demo/player/PlayerShare.kt

@@ -1,11 +1,15 @@
 package com.tencent.liteav.demo.player
 
+import android.graphics.Typeface.BOLD
+import android.graphics.Typeface.DEFAULT_BOLD
+import android.os.Build
 import android.os.Bundle
 import android.view.View
 import android.view.ViewGroup
 import android.view.WindowManager
 import android.widget.ImageView
 import android.widget.RelativeLayout
+import android.widget.TextView
 import androidx.appcompat.app.AppCompatActivity
 import androidx.appcompat.content.res.AppCompatResources
 import androidx.constraintlayout.widget.ConstraintLayout
@@ -30,12 +34,14 @@ class PlayerShare : AppCompatActivity() {
 
     private fun createView(): View {
         val root = RelativeLayout(shareContext).apply {
+            id = View.generateViewId()
             layoutParams = ViewGroup.LayoutParams(
                 ViewGroup.LayoutParams.MATCH_PARENT,
                 ViewGroup.LayoutParams.MATCH_PARENT,
             )
 
             val subRoot = ConstraintLayout(shareContext).apply {
+                id = View.generateViewId()
                 layoutParams = RelativeLayout.LayoutParams(
                     shareContext.resources.getDimension(R.dimen.layour_share_width).toInt(),
                     ViewGroup.LayoutParams.MATCH_PARENT,
@@ -49,7 +55,21 @@ class PlayerShare : AppCompatActivity() {
                     AppCompatResources.getDrawable(shareContext, R.drawable.menu_background)
 
 
-                backButton = ImageView(shareContext).apply {
+                shareFriend = MenuItemView(shareContext).apply {
+                    setTitle("微信")
+                    setIcon(R.mipmap.item_favorite)
+                    id = View.generateViewId()
+                }
+
+                shareTimeline = MenuItemView(shareContext).apply {
+                    setTitle("朋友圈")
+                    setIcon(R.mipmap.item_favorited)
+                    id = View.generateViewId()
+                }
+
+                backButton = ImageView(shareContext)
+
+                backButton.apply {
                     setImageResource(R.mipmap.item_back)
 
                     id = View.generateViewId()
@@ -61,11 +81,13 @@ class PlayerShare : AppCompatActivity() {
                         topToTop = parent.id
                         bottomToBottom = parent.id
                     }
+                    setOnClickListener {
+                        shareContext.finish()
+                    }
                 }
 
-                shareFriend = MenuItemView(shareContext).apply {
-                    setTitle("微信")
-                    setIcon(R.mipmap.item_favorite)
+                val textView = TextView(shareContext).apply {
+                    text = "分享"
                     id = View.generateViewId()
 
                     layoutParams = ConstraintLayout.LayoutParams(
@@ -73,26 +95,45 @@ class PlayerShare : AppCompatActivity() {
                         ViewGroup.LayoutParams.WRAP_CONTENT,
                     ).apply {
                         leftToRight = backButton.id
+                        rightToRight = parent.id
                         topToTop = parent.id
+                        topMargin = shareContext.resources.getDimension(R.dimen.dp40).toInt()
+                    }
+                    textSize = 20f
+                    typeface = DEFAULT_BOLD
+                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
+                        lineHeight = shareContext.resources.getDimension(R.dimen.dp28).toInt()
                     }
+
                 }
 
-                shareTimeline = MenuItemView(shareContext).apply {
-                    setTitle("朋友圈")
-                    setIcon(R.mipmap.item_favorited)
-                    id = View.generateViewId()
+                shareFriend.apply {
+                    layoutParams = ConstraintLayout.LayoutParams(
+                        ViewGroup.LayoutParams.WRAP_CONTENT,
+                        ViewGroup.LayoutParams.WRAP_CONTENT,
+                    ).apply {
+                        leftToRight = backButton.id
+                        topToBottom = textView.id
+                        rightToLeft = shareTimeline.id
+                        topMargin = shareContext.resources.getDimension(R.dimen.dp37).toInt()
+                    }
+                }
 
+                shareTimeline.apply {
                     layoutParams = ConstraintLayout.LayoutParams(
                         ViewGroup.LayoutParams.WRAP_CONTENT,
                         ViewGroup.LayoutParams.WRAP_CONTENT,
                     ).apply {
                         leftToRight = shareFriend.id
-                        topToTop = parent.id
+                        topToBottom = textView.id
+                        rightToRight = parent.id
+                        topMargin = shareContext.resources.getDimension(R.dimen.dp37).toInt()
                     }
                 }
 
 
                 addView(backButton)
+                addView(textView)
                 addView(shareFriend)
                 addView(shareTimeline)
             }

+ 13 - 3
ui/src/main/kotlin/com/tencent/liteav/demo/player/PlayerWheel.kt

@@ -4,16 +4,26 @@ import android.os.Bundle
 import androidx.appcompat.app.AppCompatActivity
 import com.tencent.liteav.demo.superplayer.ui.view.WheelView
 
-class PlayerWheel:AppCompatActivity() {
+class PlayerWheel : AppCompatActivity() {
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         setContentView(R.layout.activity_wheel)
         findViewById<WheelView>(R.id.layout_wheel).apply {
-            setItems(mutableListOf("a", "b", "c"))
+            val list = mutableListOf<String>()
+            for (i in 0..24) {
+                list.add("${i}小时")
+            }
+
+            setItems(list)
         }
 
         findViewById<WheelView>(R.id.layout_wheel2).apply {
-            setItems(mutableListOf("d", "e", "f"))
+            val list = mutableListOf<String>()
+            for (i in 0..60) {
+                list.add("${i}分钟")
+            }
+
+            setItems(list)
         }
     }
 }

+ 4 - 1
ui/src/main/kotlin/com/tencent/liteav/demo/player/menu/PlayerTimer.kt

@@ -1,8 +1,10 @@
 package com.tencent.liteav.demo.player.menu
 
+import android.content.Intent
 import android.os.Bundle
 import android.view.View
 import androidx.appcompat.app.AppCompatActivity
+import com.tencent.liteav.demo.player.PlayerWheel
 import com.tencent.liteav.demo.player.databinding.FragmentTimerBinding
 import com.tencent.liteav.demo.superplayer.util.TimersUtil
 
@@ -68,7 +70,8 @@ class PlayerTimer : AppCompatActivity(), View.OnClickListener {
                 TimersUtil.sendNewTimer(2, 30 * 60)
             }
             custom.id -> {
-                TimersUtil.sendNewTimer(2, 100 * 60)
+                val intent = Intent(this@PlayerTimer, PlayerWheel::class.java)
+                startActivity(intent)
             }
         }
 

+ 5 - 0
ui/src/main/res/values/dimens.xml

@@ -13,4 +13,9 @@
     <dimen name="layour_share_width">268dp</dimen>
     <dimen name="menu_back_width">27dp</dimen>
     <dimen name="menu_back_height">80dp</dimen>
+
+    <dimen name="dp40">40dp</dimen>
+    <dimen name="dp37">37dp</dimen>
+    <dimen name="dp20">20dp</dimen>
+    <dimen name="dp28">28dp</dimen>
 </resources>