我尝试在我的应用中使用Android <select class="select" ng-options="option as option.name for option in abc track by option.id"
ng-model="row.categoryId"></select>
,并在溢出菜单中隐藏了一个选项。
那里有很多文档,但它令人困惑,因为大多数文档只与非常旧版本的Android有关,当你尝试应用相同的概念时,它们不会不再工作或以不同的方式工作。
这是我的ActionBar
布局
Activity
这是我的<android.support.v7.widget.Toolbar
android:id="@+id/my_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:titleTextColor="@android:color/white"
android:background="@color/colorPrimary"
android:elevation="4dp"
android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
Activity
方法
onCreate()
我还尝试过// sets up activity toolbar
Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar);
setSupportActionBar(myToolbar);
myToolbar.showOverflowMenu();
myToolbar.setTitleTextColor(R.color.lightPrimaryText);
中的菜单xml文件,但这也没有给我我想要的结果。
答案 0 :(得分:43)
在 res / menu 资源文件夹中为Menu
定义Toolbar
,例如:
toolbar_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"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".activity.MainActivity">
<item
android:id="@+id/action_sign_out"
android:title="@string/toolbar_sign_out"
app:showAsAction="never"/>
</menu>
设置app:showAsAction="never"
可确保此MenuItem
不会显示在Toolbar
中,而是放在溢出菜单中。
Activity
的主题应该是(或来自)其中一个NoActionBar
主题(例如Theme.AppCompat.NoActionBar
,或Theme.MaterialComponents.NoActionBar
如果您正在使用Activity
3}})。
在Toolbar
中,设置Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar);
setSupportActionBar(myToolbar);
:
onCreateOptionsMenu()
并覆盖@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.toolbar_menu, menu);
return true;
}
以扩充先前定义的菜单资源:
onOptionsItemSelected()
您可以覆盖MenuItem
来定义@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_sign_out: {
// do your sign-out stuff
break;
}
// case blocks for other MenuItems (if any)
}
return true;
}
的onClick行为:
body {
display: flex;
}
body * {
margin: 0;
}
#left{
width: 15%;
background-color: blue;
}
#right{
width: 85%;
background-color: red;
}
答案 1 :(得分:3)
声明
android:theme="@style/AppTheme.NoActionBar"
像这样:
<activity
android:name=".ActivityName"
android:label="@string/label"
android:theme="@style/AppTheme.NoActionBar" />
并将其添加到您的风格中:
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
并在Activity onCreate()中调用它:
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
在活动中覆盖此方法:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.product_list, menu);
//U can find item set icon and stuff...
MenuItem item= menu.findItem(R.id.action_search);
return true;
}
并为溢出菜单声明您的菜单:
<?xml version="1.0" encoding="utf-8"?>
<menu >
<group>
<item
android:id="@+id/sign_out"
android:title="@string/sign_out" />
<item
android:id="@+id/about"
android:title="@string/about" />
</group>
</menu>
并且对于句柄项目选择,请调用此
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch (id) {
case R.id.sign_out:
//do stuff
break;
}
return super.onOptionsItemSelected(item);
}
完成:))
答案 2 :(得分:-1)
简单操作将此代码复制到MainActivet`
上git cherry-pick <SHA of your commit>
现在为此菜单名称创建目录文件依赖于Android_Studio-&gt; app Folder-&gt; Right_Click-&gt; New-&gt; Directory-&gt;立即输入名称菜单使用menu2.xml名称
在其中创建一个xml文件并在menu2.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.main2, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
Group gp=(Group)findViewById(R.id.order);
return true;
}
return super.onOptionsItemSelected(item);
}`
如果有任何查询请发短信给我