diff options
author | a.marchuk <a.marchuk@corp.mail.ru> | 2015-07-20 21:50:09 +0300 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 02:56:41 +0300 |
commit | edd483e4e833584aa35bd4542de40f83a106e096 (patch) | |
tree | 36576bf83d05ea280a40d8e4d9e6a38e6f9a2d16 /android/3rd_party/BottomSheet/src | |
parent | 239d02e5236ab13cefe9eddf917f6725e433a18c (diff) |
[android] add: Dynamic list shadows.
Diffstat (limited to 'android/3rd_party/BottomSheet/src')
-rw-r--r-- | android/3rd_party/BottomSheet/src/main/java/com/cocosw/bottomsheet/BottomSheet.java | 44 | ||||
-rw-r--r-- | android/3rd_party/BottomSheet/src/main/res/drawable-hdpi/shadow_top.9.png (renamed from android/3rd_party/BottomSheet/src/main/res/drawable-hdpi/bs_shadow.9.png) | bin | 116 -> 116 bytes | |||
-rw-r--r-- | android/3rd_party/BottomSheet/src/main/res/drawable-mdpi/shadow_top.9.png (renamed from android/3rd_party/BottomSheet/src/main/res/drawable-mdpi/bs_shadow.9.png) | bin | 108 -> 108 bytes | |||
-rw-r--r-- | android/3rd_party/BottomSheet/src/main/res/drawable-xhdpi/shadow_top.9.png (renamed from android/3rd_party/BottomSheet/src/main/res/drawable-xhdpi/bs_shadow.9.png) | bin | 115 -> 115 bytes | |||
-rw-r--r-- | android/3rd_party/BottomSheet/src/main/res/drawable-xxhdpi/shadow_top.9.png (renamed from android/3rd_party/BottomSheet/src/main/res/drawable-xxhdpi/bs_shadow.9.png) | bin | 119 -> 119 bytes | |||
-rw-r--r-- | android/3rd_party/BottomSheet/src/main/res/drawable-xxxhdpi/shadow_top.9.png (renamed from android/3rd_party/BottomSheet/src/main/res/drawable-xxxhdpi/bs_shadow.9.png) | bin | 133 -> 133 bytes | |||
-rw-r--r-- | android/3rd_party/BottomSheet/src/main/res/layout/bottom_sheet_dialog.xml | 7 |
7 files changed, 9 insertions, 42 deletions
diff --git a/android/3rd_party/BottomSheet/src/main/java/com/cocosw/bottomsheet/BottomSheet.java b/android/3rd_party/BottomSheet/src/main/java/com/cocosw/bottomsheet/BottomSheet.java index 7711c24786..e30158eff8 100644 --- a/android/3rd_party/BottomSheet/src/main/java/com/cocosw/bottomsheet/BottomSheet.java +++ b/android/3rd_party/BottomSheet/src/main/java/com/cocosw/bottomsheet/BottomSheet.java @@ -50,7 +50,6 @@ import android.view.ViewGroup; import android.view.ViewTreeObserver; import android.view.Window; import android.view.WindowManager; -import android.widget.AbsListView; import android.widget.AdapterView; import android.widget.BaseAdapter; import android.widget.FrameLayout; @@ -80,8 +79,7 @@ public class BottomSheet extends Dialog implements DialogInterface { private Drawable more; private boolean collapseListIcons; private int mStatusBarHeight; - private GridView list; - private View listShadow; + protected GridView list; private SimpleSectionedGridAdapter adapter; private Builder builder; @@ -113,7 +111,7 @@ public class BottomSheet extends Dialog implements DialogInterface { } @SuppressWarnings("WeakerAccess") - BottomSheet(Context context, int theme) { + protected BottomSheet(Context context, int theme) { super(context, theme); TypedArray a = getContext() @@ -264,7 +262,7 @@ public class BottomSheet extends Dialog implements DialogInterface { cancelOnSwipeDown = cancel; } - private void init(final Context context) { + protected void init(final Context context) { setCanceledOnTouchOutside(cancelOnTouchOutside); final ClosableSlidingLayout mDialogView = (ClosableSlidingLayout) View.inflate(context, R.layout.bottom_sheet_dialog, null); setContentView(mDialogView); @@ -319,8 +317,6 @@ public class BottomSheet extends Dialog implements DialogInterface { list.setNumColumns(1); } - listShadow = mDialogView.findViewById(R.id.bottom_sheet_list_shadow); - if (builder.grid) { for (int i = 0; i < getMenu().size(); i++) { if (getMenu().getItem(i).getIcon() == null) @@ -480,20 +476,7 @@ public class BottomSheet extends Dialog implements DialogInterface { } } - public boolean shouldShowShadow() { - int first = list.getFirstVisiblePosition(); - if (first > 0) - return true; - - View child = list.getChildAt(0); - return (child.getTop() < 0); - } - - private void updateListShadow() { - listShadow.setVisibility(shouldShowShadow() ? View.VISIBLE : View.GONE); - } - - private void showFullItems() { + protected void showFullItems() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { Transition changeBounds = new ChangeBounds(); changeBounds.setDuration(300); @@ -512,20 +495,9 @@ public class BottomSheet extends Dialog implements DialogInterface { } }); setListLayout(); - - list.setOnScrollListener(new AbsListView.OnScrollListener() { - @Override - public void onScrollStateChanged(AbsListView view, int scrollState) { - } - - @Override - public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { - updateListShadow(); - } - }); } - private void showShortItems() { + protected void showShortItems() { actions = menuItem; updateSection(); adapter.notifyDataSetChanged(); @@ -539,7 +511,6 @@ public class BottomSheet extends Dialog implements DialogInterface { } list.setOnScrollListener(null); - listShadow.setVisibility(View.GONE); } private boolean hasDivider() { @@ -852,6 +823,9 @@ public class BottomSheet extends Dialog implements DialogInterface { return this; } + protected BottomSheet createDialog(Context context, int theme) { + return new BottomSheet(context, theme); + } /** * Create a BottomSheet but not show it @@ -860,7 +834,7 @@ public class BottomSheet extends Dialog implements DialogInterface { */ @SuppressLint("Override") public BottomSheet build() { - BottomSheet dialog = new BottomSheet(context, theme); + BottomSheet dialog = createDialog(context, theme); dialog.builder = this; return dialog; } diff --git a/android/3rd_party/BottomSheet/src/main/res/drawable-hdpi/bs_shadow.9.png b/android/3rd_party/BottomSheet/src/main/res/drawable-hdpi/shadow_top.9.png Binary files differindex 00696aa757..00696aa757 100644 --- a/android/3rd_party/BottomSheet/src/main/res/drawable-hdpi/bs_shadow.9.png +++ b/android/3rd_party/BottomSheet/src/main/res/drawable-hdpi/shadow_top.9.png diff --git a/android/3rd_party/BottomSheet/src/main/res/drawable-mdpi/bs_shadow.9.png b/android/3rd_party/BottomSheet/src/main/res/drawable-mdpi/shadow_top.9.png Binary files differindex 1a784f3c12..1a784f3c12 100644 --- a/android/3rd_party/BottomSheet/src/main/res/drawable-mdpi/bs_shadow.9.png +++ b/android/3rd_party/BottomSheet/src/main/res/drawable-mdpi/shadow_top.9.png diff --git a/android/3rd_party/BottomSheet/src/main/res/drawable-xhdpi/bs_shadow.9.png b/android/3rd_party/BottomSheet/src/main/res/drawable-xhdpi/shadow_top.9.png Binary files differindex 62083b02e8..62083b02e8 100644 --- a/android/3rd_party/BottomSheet/src/main/res/drawable-xhdpi/bs_shadow.9.png +++ b/android/3rd_party/BottomSheet/src/main/res/drawable-xhdpi/shadow_top.9.png diff --git a/android/3rd_party/BottomSheet/src/main/res/drawable-xxhdpi/bs_shadow.9.png b/android/3rd_party/BottomSheet/src/main/res/drawable-xxhdpi/shadow_top.9.png Binary files differindex 4dcf1830ca..4dcf1830ca 100644 --- a/android/3rd_party/BottomSheet/src/main/res/drawable-xxhdpi/bs_shadow.9.png +++ b/android/3rd_party/BottomSheet/src/main/res/drawable-xxhdpi/shadow_top.9.png diff --git a/android/3rd_party/BottomSheet/src/main/res/drawable-xxxhdpi/bs_shadow.9.png b/android/3rd_party/BottomSheet/src/main/res/drawable-xxxhdpi/shadow_top.9.png Binary files differindex ad5e1dc7a2..ad5e1dc7a2 100644 --- a/android/3rd_party/BottomSheet/src/main/res/drawable-xxxhdpi/bs_shadow.9.png +++ b/android/3rd_party/BottomSheet/src/main/res/drawable-xxxhdpi/shadow_top.9.png diff --git a/android/3rd_party/BottomSheet/src/main/res/layout/bottom_sheet_dialog.xml b/android/3rd_party/BottomSheet/src/main/res/layout/bottom_sheet_dialog.xml index 2f0c21f788..cdfbe6e152 100644 --- a/android/3rd_party/BottomSheet/src/main/res/layout/bottom_sheet_dialog.xml +++ b/android/3rd_party/BottomSheet/src/main/res/layout/bottom_sheet_dialog.xml @@ -46,13 +46,6 @@ android:fadingEdge="none" style="?bs_listStyle" tools:listitem="@layout/bs_grid_entry" /> - - <View android:id="@+id/bottom_sheet_list_shadow" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:background="@drawable/bs_shadow" - android:visibility="gone" - tools:visibility="visible"/> </FrameLayout> </LinearLayout> |