我需要在动作栏上获得3点菜单的ID。我需要它才能使用 showcaseview上面显示给用户的教程。
如果不可能,那么有没有办法设置showcaseView目标 作为3dot菜单图像?
答案 0 :(得分:2)
假设您的活动是AppCompatActivity:
Toolbar toolbar = (Toolbar) findViewById(R.id.action_bar);
if (toolbar != null) {
// 0 - title
// 1 - options menu
View menuLayout = toolbar.getChildAt(1);
if (menuLayout instanceof ViewGroup) {
// index here depends on actual toolbar layout
View menu3dots = ((ViewGroup)menuLayout).getChildAt(0);
}
}
答案 1 :(得分:0)
它没有id;你必须给视图充气以创建三个点。您还需要另一个定义菜单的xml文件。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.your_menu, menu);
return true;
}
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=".My_Activity">
<item android:id="@+id/more_info" android:title="@string/moreInfo"
android:orderInCategory="100" app:showAsAction="never" />