Skip to content

Commit dc5f922

Browse files
Added support for 'android:visible' and 'android:enabled' property.
1 parent aed9e02 commit dc5f922

4 files changed

Lines changed: 27 additions & 6 deletions

File tree

BottomSheetMenu/src/main/java/com/buggysofts/bottomsheetmenu/BottomSheetMenu.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -265,13 +265,14 @@ public BottomSheetMenu(@NonNull Context context,
265265
@Override
266266
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
267267
ListView mainList = (ListView) parent;
268-
if (position >= 1 && position < mainList.getCount() - 1) {
268+
269+
// get clicked item reference
270+
MenuItem item = (MenuItem) parent.getItemAtPosition(position);
271+
272+
if ((position >= 1 && position < mainList.getCount() - 1) && item.isEnabled()) {
269273
// first dismiss
270274
dialog.dismiss();
271275

272-
// get clicked item reference
273-
MenuItem item = (MenuItem) parent.getItemAtPosition(position);
274-
275276
// perform click
276277
listener.onClick(item);
277278

@@ -565,7 +566,9 @@ private void show(@NonNull Menu menu, @Nullable MenuItem parent) {
565566

566567
List<MenuItem> menuItems = new ArrayList<>(0);
567568
for (int i = 0; i < menu.size(); ++i) {
568-
menuItems.add(menu.getItem(i));
569+
if(menu.getItem(i).isVisible()) {
570+
menuItems.add(menu.getItem(i));
571+
}
569572
}
570573

571574
menuList.setAdapter(

BottomSheetMenu/src/main/java/com/buggysofts/bottomsheetmenu/BottomSheetMenuAdapter.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.buggysofts.bottomsheetmenu;
22

33
import android.content.Context;
4+
import android.graphics.Color;
45
import android.graphics.drawable.Drawable;
56
import android.view.LayoutInflater;
67
import android.view.MenuItem;
@@ -149,6 +150,21 @@ public View getView(int position, @Nullable View convertView, @NonNull ViewGroup
149150
} else {
150151
// no color filter will be applied
151152
}
153+
154+
// if disabled, apply disabled menu appearance
155+
if(!item.isEnabled()){
156+
holder.item_txt.setEnabled(false);
157+
holder.item_icon.setEnabled(false);
158+
holder.item_expand.setEnabled(false);
159+
holder.item_icon.setImageAlpha(64);
160+
holder.item_expand.setImageAlpha(64);
161+
} else {
162+
holder.item_txt.setEnabled(true);
163+
holder.item_icon.setEnabled(true);
164+
holder.item_expand.setEnabled(true);
165+
holder.item_icon.setImageAlpha(255);
166+
holder.item_expand.setImageAlpha(255);
167+
}
152168
} else {
153169
// something is wrong - control should not be in here
154170
}

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Finally, add this dependency to your app/module level build.gradle file
3434
3535
dependencies {
3636
...
37-
implementation 'com.github.buggysofts-com:BottomSheetMenu:v1.0.9'
37+
implementation 'com.github.buggysofts-com:BottomSheetMenu:v1.1.0'
3838
}
3939
```
4040
And you are done importing the library.

app/src/main/res/menu/data_package_restore_options_menu.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,12 @@
33
<item
44
android:id="@+id/bmsmi7sm2"
55
android:icon="@drawable/ic_android"
6+
android:enabled="false"
67
android:title="App only" />
78
<item
89
android:id="@+id/bmsmi7sm3"
910
android:icon="@drawable/ic_data"
11+
android:visible="false"
1012
android:title="Data only" />
1113
<item
1214
android:id="@+id/bmsmi7sm1"

0 commit comments

Comments
 (0)