FancyShowCaseView
FancyShowCaseView copied to clipboard
problem to focus on toolbar overflow menu items
im trying to set FancyShowCaseView for items in overflow items of MaterialToolbar but view is null although fancyshowcaseview works for visible items in toolbar My code : (calling this code in onPrepareOptionsMenu/onCreateOptionsMenu witn Runnable)
fancyShowCaseViewToolbar1 = new FancyShowCaseView.Builder(PlayerNoActivity.this)
.focusOn(findViewById(R.id.menu_playerNo_add))
.title("add player")
.build();
fancyShowCaseViewToolbar2 = new FancyShowCaseView.Builder(PlayerNoActivity.this)
.focusOn(findViewById(R.id.menu_playerNo_randomName))
.title("random players")
.build();
menu xml:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/menu_playerNo_sortDone"
android:title="confirm"
android:icon="@drawable/ic_baseline_done_24"
app:showAsAction="always"
android:visible="false"/>
<group android:id="@+id/menu_playerNo_group">
<item android:id="@+id/menu_playerNo_add"
android:title="addPlayer"
android:icon="@drawable/ic_baseline_add_circle_24"
app:showAsAction="always"/>
<item android:id="@+id/menu_playerNo_randomName"
android:icon="@drawable/ic_baseline_group_add_24"
android:title="random"
app:showAsAction="never" />
<item android:id="@+id/menu_playerNo_sort"
android:icon="@drawable/ic_baseline_sort_24"
android:title="sort"
app:showAsAction="never"
android:checked="false"/>
<item android:id="@+id/menu_playerNo_help"
android:title="help"
android:icon="@drawable/ic_baseline_help_24"
app:showAsAction="never"/>
<item android:id="@+id/menu_playerNo_deleteAll"
android:icon="@drawable/ic_baseline_delete_forever_24"
android:title="delete all"
app:showAsAction="never"/>
</group>
</menu>
fancyShowCaseViewToolbar1 works fine but fancyShowCaseViewToolbar2 dosent work i tried remove group but still didnt work FancyShowCaseView version: 1.3.5
View is not laid out in onPrepareOptionsMenu/onCreateOptionsMenu methods. Can you trigger your runnable in view.post
or view.postDelayed
methods?
public boolean onPrepareOptionsMenu(final Menu menu) {
menu.clear();
getMenuInflater().inflate(R.menu.player_no_menu,menu);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
fancyShowCaseViewToolbar1 = new FancyShowCaseView.Builder(PlayerNoActivity.this)
.focusOn(findViewById(R.id.menu_playerNo_add))
.title("add player")
.build();
fancyShowCaseViewToolbar2 = new FancyShowCaseView.Builder(PlayerNoActivity.this)
.focusOn(findViewById(R.id.menu_playerNo_randomName))
.title("random players")
.build();
}
},50);
return super.onCreateOptionsMenu(menu);
}
views inside toolbar work fine but view inside overflow menu is unreachable
You should access the view reference of menu items. https://stackoverflow.com/questions/8614293/android-get-view-reference-to-a-menu-item
issue closed due to inactivity