From 72f042c94477c46b0ad768d4f866514d9e7598ba Mon Sep 17 00:00:00 2001 From: sifacaii Date: Wed, 24 Aug 2022 18:38:17 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 1 + .../java/org/sifacai/vlcjellyfin/PopMenu.java | 18 ++++++++++++++---- app/src/main/res/layout/popmenu.xml | 16 ++++++++++++---- app/src/main/res/values/theme.xml | 10 +++++----- 4 files changed, 32 insertions(+), 13 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 0b85058..4151482 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -16,6 +16,7 @@ android:roundIcon="@drawable/touchicon144" android:supportsRtl="true" android:theme="@style/jellyfin" + android:usesCleartextTraffic="true" tools:targetApi="31"> items; private View attView; - private LinearLayout contentView; + private ScrollView contentView; + private LinearLayout itemContiner; public PopMenu(Context context, View attView) { super(context); @@ -37,9 +40,11 @@ public class PopMenu extends PopupWindow { setOutsideTouchable(true); setFocusable(true); setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); - contentView = (LinearLayout) LayoutInflater.from(context).inflate(R.layout.popmenu,null); + contentView = (ScrollView) LayoutInflater.from(context).inflate(R.layout.popmenu,null); setContentView(contentView); + itemContiner = contentView.findViewById(R.id.popitemContiner); this.attView = attView; + setClippingEnabled(true); } public menu add(int groupid,int id,int orderid,String name){ @@ -52,11 +57,14 @@ public class PopMenu extends PopupWindow { m.v = v; ((TextView)v).setText(name); items.add(m); - contentView.addView(v); + itemContiner.addView(v); return m; } public void show(){ + if(items.size() > 12){ + setHeight(500); + } contentView.measure(makeDropDownMeasureSpec(getWidth()) ,makeDropDownMeasureSpec(getHeight())); int offx = 0; @@ -66,7 +74,9 @@ public class PopMenu extends PopupWindow { public void show(int index){ show(); - items.get(index).v.requestFocus(); + if(index >=0 && index < items.size()) { + items.get(index).v.requestFocus(); + } } public void show(String name){ diff --git a/app/src/main/res/layout/popmenu.xml b/app/src/main/res/layout/popmenu.xml index 10bae10..d31c5d4 100644 --- a/app/src/main/res/layout/popmenu.xml +++ b/app/src/main/res/layout/popmenu.xml @@ -1,8 +1,16 @@ - - \ No newline at end of file + android:layout_margin="0dp"> + + + + \ No newline at end of file diff --git a/app/src/main/res/values/theme.xml b/app/src/main/res/values/theme.xml index 70e45ef..0cd28e0 100644 --- a/app/src/main/res/values/theme.xml +++ b/app/src/main/res/values/theme.xml @@ -1,10 +1,10 @@ -