Ver código fonte

增加星星左移

czq 2 anos atrás
pai
commit
6a670abb3a

+ 4 - 1
app/src/main/AndroidManifest.xml

@@ -70,7 +70,7 @@
         <activity android:name=".activity.CongratulationsActivity" />
         <activity android:name=".activity.SoundActivity" />
         <activity
-            android:name=".activity.StarsActivity"
+            android:name=".activity.StarScrollActivity"
             android:screenOrientation="landscape" />
 
         <service
@@ -150,6 +150,9 @@
             android:screenOrientation="landscape" />
         <activity android:name=".activity.InClassActivity"
             android:screenOrientation="landscape" />
+        <activity android:name=".activity.StarScrollActivity"
+            android:screenOrientation="landscape"
+            tools:ignore="DuplicateActivity" />
     </application>
 
 </manifest>

+ 19 - 5
app/src/main/java/com/xunao/effectdemo/activity/GSXYVideoPlayerActivity.java

@@ -47,12 +47,19 @@ public class GSXYVideoPlayerActivity extends Activity {
 		videoPlayer.getBackButton().setOnClickListener(v->{
 			finish();
 		});
-		videoPlayer.getFullscreenButton().setVisibility(View.GONE);
+//		videoPlayer.getFullscreenButton().setVisibility(View.GONE);
+		videoPlayer.setBackFromFullScreenListener(v->{
+			videoPlayer.onBackFullscreen();
+		});
+		videoPlayer.getFullscreenButton().setOnClickListener(v->{
+
+			videoPlayer.startWindowFullscreen(this,true,true);
+		});
 		orientationUtils = new OrientationUtils(this, videoPlayer);
-		videoPlayer.setIsFinish(isFirst);
-		videoPlayer.setIsTouchWiget(isFirst);
-		videoPlayer.setIsTouchWigetFull(isFirst);
-		videoPlayer.setIfCurrentIsFullscreen(false);
+//		videoPlayer.setIsFinish(isFirst);
+//		videoPlayer.setIsTouchWiget(isFirst);
+//		videoPlayer.setIsTouchWigetFull(isFirst);
+//		videoPlayer.setIfCurrentIsFullscreen(false);
 		videoPlayer.startPlayLogic();
 
 		btn = findViewById(R.id.btn_finish);
@@ -64,6 +71,13 @@ public class GSXYVideoPlayerActivity extends Activity {
 		});
 	}
 
+//	@Override
+//	public void setRequestedOrientation(int requestedOrientation) {
+////        super.setRequestedOrientation(requestedOrientation);
+//		//退出全屏 屏幕旋转bug
+//	}
+
+
 	@Override
 	protected void onResume() {
 		super.onResume();

+ 4 - 2
app/src/main/java/com/xunao/effectdemo/activity/MainActivity.java

@@ -101,7 +101,7 @@ public class MainActivity extends Activity {
 		});
 		btn13 = findViewById(R.id.btn_13);
 		btn13.setOnClickListener(v->{
-			intent = new Intent(MainActivity.this,StarsActivity.class);
+			intent = new Intent(MainActivity.this, StarScrollActivity.class);
 			startActivity(intent);
 		});
 
@@ -148,7 +148,9 @@ public class MainActivity extends Activity {
 		});
 		btn21 = findViewById(R.id.btn_21);
 		btn21.setOnClickListener(v->{
-			intent = new Intent(MainActivity.this, MapChallengeActivity.class);
+//			intent = new Intent(MainActivity.this, MapChallengeActivity.class);
+//			startActivity(intent);
+			intent = new Intent(MainActivity.this, StarScrollActivity.class);
 			startActivity(intent);
 		});
 	}

+ 68 - 0
app/src/main/java/com/xunao/effectdemo/activity/StarScrollActivity.kt

@@ -0,0 +1,68 @@
+package com.xunao.effectdemo.activity
+
+import android.app.Activity
+import android.os.Bundle
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.PagerSnapHelper
+import androidx.recyclerview.widget.RecyclerView
+import com.xunao.effectdemo.R
+import com.xunao.effectdemo.adapter.StarsAdapter
+import kotlinx.android.synthetic.main.activity_stars_list.*
+
+
+/**
+ * author : czq
+ * date : 2022/12/9 14:31
+ * desc :
+ * version: 1.0
+ */
+class StarScrollActivity : Activity() {
+
+    var i=4
+    var type = 1
+    var list = mutableListOf<String>()
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        setContentView(R.layout.activity_stars_list)
+
+        val layoutManager = LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false)
+        rv_stars.layoutManager = layoutManager
+        for (i in 0 until 17){
+            list.add(i.toString())
+        }
+        var adapter = StarsAdapter(this,list)
+        rv_stars.adapter = adapter
+
+        val snapHelper = PagerSnapHelper()
+        snapHelper.attachToRecyclerView(rv_stars)
+        rv_stars.isEnabled = false
+        btn_left.setOnClickListener {
+            if (type==0){
+                i--
+            }else{
+                i-=5
+            }
+
+            if (i<0){
+                i=0
+
+            }
+            type= 0
+            rv_stars.smoothScrollToPosition(i)
+        }
+        btn_right.setOnClickListener {
+
+            if (type==1){
+                i++
+            }else{
+                i+=5
+            }
+            if (i>list.size-1){
+                i=list.size-1
+                return@setOnClickListener
+            }
+            type=1
+            rv_stars.smoothScrollToPosition(i)
+        }
+    }
+}

+ 48 - 0
app/src/main/java/com/xunao/effectdemo/adapter/StarsAdapter.kt

@@ -0,0 +1,48 @@
+package com.xunao.effectdemo.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.xunao.effectdemo.R
+
+/**
+ * author : czq
+ * date : 2022/12/9 14:38
+ * desc :
+ * version: 1.0
+ */
+class StarsAdapter (private val context: Context, val list : MutableList<String>) :
+    RecyclerView.Adapter<StarsAdapter.ViewHolder>(){
+
+    class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView){
+        var ivBook: ImageView? = null
+        var tv: TextView? = null
+        init {
+            ivBook = itemView.findViewById(R.id.imv_start)
+            tv = itemView.findViewById(R.id.tv_num)
+        }
+    }
+
+    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
+        val view = LayoutInflater.from(parent.context)
+            .inflate(R.layout.item_stars, parent, false)
+        return ViewHolder(view)
+    }
+
+    override fun onBindViewHolder(holder: ViewHolder, position: Int) {
+        holder.tv?.text = list[position]
+        if(position == 0||position==1||position==list.size-1||position==list.size-2){
+            holder.ivBook?.visibility = View.INVISIBLE
+        }else{
+            holder.ivBook?.visibility = View.VISIBLE
+        }
+    }
+
+    override fun getItemCount(): Int {
+        return list.size
+    }
+}

+ 44 - 0
app/src/main/java/com/xunao/effectdemo/view/VideoPreviewPlay.java

@@ -10,6 +10,7 @@ import android.view.Gravity;
 import android.view.MotionEvent;
 import android.view.View;
 import android.view.ViewGroup;
+import android.view.Window;
 import android.widget.AdapterView;
 import android.widget.Button;
 import android.widget.ImageView;
@@ -21,6 +22,7 @@ import android.widget.Toast;
 
 import androidx.annotation.NonNull;
 
+import com.shuyu.gsyvideoplayer.video.base.GSYVideoPlayer;
 import com.xunao.effectdemo.adapter.DeviceAdapter;
 import com.xunao.effectdemo.dlan.DLNAControlCenter;
 import com.xunao.effectdemo.dlan.IUIUpdateListener;
@@ -489,4 +491,46 @@ public class VideoPreviewPlay extends StandardGSYVideoPlayer {
 		};
 	}
 
+	@Override
+	protected void clearFullscreenLayout() {
+		//重写方法 取消原来逻辑调用
+//        super.clearFullscreenLayout();
+//        System.out.println("11111111111111");
+
+		if (!mFullAnimEnd) {
+			return;
+		}
+		mIfCurrentIsFullscreen = false;
+		int delay = 0;
+
+		if (!mShowFullAnimation) {
+			delay = 0;
+		}
+
+		final ViewGroup vp = getViewGroup();
+		final View oldF = vp.findViewById(getFullId());
+		if (oldF != null) {
+			//此处fix bug#265,推出全屏的时候,虚拟按键问题
+			GSYVideoPlayer gsyVideoPlayer = (GSYVideoPlayer) oldF;
+			gsyVideoPlayer.setIfCurrentIsFullscreen(false);
+		}
+
+		mInnerHandler.postDelayed(new Runnable() {
+			@Override
+			public void run() {
+				backToNormal();
+			}
+		}, delay);
+	}
+//
+	private ViewGroup getViewGroup() {
+		return (ViewGroup) (CommonUtil.scanForActivity(getContext())).findViewById(Window.ID_ANDROID_CONTENT);
+	}
+	@Override
+	public void onBackFullscreen() {
+		clearFullscreenLayout();
+	}
+
+
+
 }

+ 6 - 0
app/src/main/res/layout/activity_main.xml

@@ -131,6 +131,12 @@
             android:text="地图闯关"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"/>
+
+        <Button
+            android:id="@+id/btn_22"
+            android:text="关卡进度"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"/>
     </LinearLayout>
 
 </ScrollView>

+ 33 - 0
app/src/main/res/layout/activity_stars_list.xml

@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+    
+    <RelativeLayout
+        android:layout_centerInParent="true"
+        android:background="@color/colorAccent"
+        android:layout_width="404dp"
+        android:layout_height="70dp">
+
+        <androidx.recyclerview.widget.RecyclerView
+            android:id="@+id/rv_stars"
+
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"/>
+
+    </RelativeLayout>
+
+    <Button
+        android:id="@+id/btn_left"
+        android:text="左滑"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"/>
+
+    <Button
+        android:id="@+id/btn_right"
+        android:text="右滑"
+        android:layout_alignParentRight="true"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"/>
+
+</RelativeLayout>

+ 21 - 0
app/src/main/res/layout/item_stars.xml

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="wrap_content"
+    android:layout_height="match_parent">
+
+    <ImageView
+        android:id="@+id/imv_start"
+        android:layout_centerInParent="true"
+        android:layout_marginHorizontal="14dp"
+        android:src="@mipmap/dsw_com_ui_star_0"
+        android:layout_centerVertical="true"
+        android:layout_width="58dp"
+        android:layout_height="56dp"/>
+
+    <TextView
+        android:id="@+id/tv_num"
+        android:layout_centerInParent="true"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"/>
+
+</RelativeLayout>

BIN
app/src/main/res/mipmap-xxxhdpi/dsw_com_ui_star_0.png