Я использую https://github.com/amlcurran/ShowcaseView для отображения ShowcaseView для MenuItems, как показано ниже:Использование ShowcaseView целевой MenuItems Failed
MainActivity.java:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Set our view from the "main" layout resource
setContentView(R.layout.activity_main);
//getWindow().setBackgroundDrawable(null);
toolbar = (Toolbar) findViewById(R.id.toolbar);
//Toolbar will now take on default actionbar characteristics
setContentView(R.layout.activity_main);
setTitle("DDIT Results");
try {
new ShowcaseView.Builder(MainActivity.this)
.withMaterialShowcase()
.setStyle(R.style.MyTheme)
.setTarget(new ActionItemTarget(MainActivity.this, R.id.action_notify))
.setContentTitle("Enable Notification")
.setContentText("Click On the Button and get notified whenever the Result-table Changes")
.build()
.show();
}
catch(Exception e)
{
Toast.makeText(MainActivity.this,""+e,Toast.LENGTH_LONG).show();
}
}
Что вызывает приложение будет разбился.
menu_main.xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity">
<item android:id="@+id/action_rateus" android:title="@string/rate_us" android:orderInCategory="100" app:showAsAction="never"/>
<item android:id="@+id/action_notify" android:title="@string/notify" android:icon="@drawable/ic_notifications_none_white_24dp"
android:orderInCategory="100" app:showAsAction="ifRoom" />
<item android:id="@+id/action_privacy_policy" android:title="Privacy Policy" android:orderInCategory="100" app:showAsAction="never"/>
<item android:id="@+id/action_email_us" android:title="@string/action_email_us" android:orderInCategory="100" app:showAsAction="never"/>
<item android:id="@+id/action_settings" android:title="@string/action_settings"
android:orderInCategory="100" app:showAsAction="never" />
Вход:
java.lang.RuntimeException: insertShowcaseViewWithType cannot be used when the theme has no ActionBar
at com.github.amlcurran.showcaseview.targets.ActionBarReflector.getHomeButton(ActionBarReflector.java:43)
at com.github.amlcurran.showcaseview.targets.ActionBarReflector.getActionBarView(ActionBarReflector.java:36)
at com.github.amlcurran.showcaseview.targets.ActionItemTarget.setUp(ActionItemTarget.java:49)
at com.github.amlcurran.showcaseview.targets.ActionItemTarget.getPoint(ActionItemTarget.java:43)
at com.github.amlcurran.showcaseview.ShowcaseView$1.run(ShowcaseView.java:176)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Можно ли иметь showcaseview ориентированы на конкретные элементы в панели действий? Я искал эту проблему и не придумывал никаких решений. Надеюсь, кто-то узнает эту ошибку и быстро отвечает за нее - в противном случае я могу предоставить дополнительную информацию, если она запрошена. Любая помощь будет назначена.
Я предлагаю вам создать настраиваемую панель действий и получить представление, по которому вам нужно сфокусироваться, используя витрину. –
@VibhorChopra Можете ли вы предоставить пример кода? – Prabhakar
@ Prabhakar- что вам нужно, пример кода пользовательской панели действий или получения обзора и фокусировки на нем с помощью витрины? –