我正在尝试制作一个动作栏。 如果main_menu.xml是操作栏的xml, 我在哪里存储操作栏的xml? 注意:不重复!是的,有动作栏的例子,但我只是想知道,***我在哪里放置XML文件?*
答案 0 :(得分:1)
你好@RedLight这里是牵引方式定义动作栏一个是直接动态添加你的活动内的动作栏或其他方式是如果你想自定义你的动作栏然后你可以动态地使用工具栏和动作栏,以下是你可以看到的例子。
对于动态操作栏,您需要使用操作栏定义活动名称,如下所示。
<activity
android:name=".ActivitySplash"
android:theme="@style/Theme.AppCompat.Light.DarkActionBar"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateAlwaysHidden"/>
在你的活动中:
getSupportActionBar().setTitle("Home"); // Define here your actionbar title
getSupportActionBar().setDisplayHomeAsUpEnabled(true); // If you want to create home or back button inside actionbar
对于第二种类型,在活动顶部定义您的工具栏并将其定义为不是像foollowing一样的操作栏,
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_delete" />
</RelativeLayout>
</android.support.v7.widget.Toolbar>
主题如
<activity
android:name=".ActivitySplash"
android:theme="@style/Theme.AppCompat.Light.NoActionBar"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateAlwaysHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
最后动态地将工具栏设置为操作栏
Toolbar toolbar=(Toolbar)findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
对于菜单,您必须在“res”目录中创建菜单目录并放入该目录并在活动中跟随代码。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.search:
//your code here
return true;
default:
return super.onOptionsItemSelected(item);
}
}
答案 1 :(得分:0)