我在Android 5.0棒棒糖中测试工具栏以显示我的配置为min sdk 21和target sdk 23的菜单我使用sdk 21的默认工具栏即Android 5.0棒棒糖不使用Appcompact v7来支持早于Android 5.0棒棒糖的版本但是我被困在菜单上,没有显示总是我尝试了很多,但没有运气。请让我摆脱它。
以下是我的代码。
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
TextView mTitle = (TextView) toolbar.findViewById(R.id.text);
mTitle.setTextColor(Color.parseColor("#636161"));
mTitle.setTextSize(25);
toolbar.setNavigationIcon(R.drawable.ic_launcher);
toolbar.setTitle(R.string.app_name);
toolbar.setTitleTextColor(Color.parseColor("#eea9b8"));
toolbar.setTextAlignment(View.TEXT_ALIGNMENT_GRAVITY);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return super.onCreateOptionsMenu(menu);
}
@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_refresh) {
Toast.makeText(MainActivity.this, "Refresh App", Toast.LENGTH_LONG).show();
return true;
}
if (id == R.id.action_new) {
Toast.makeText(MainActivity.this, "Create Text", Toast.LENGTH_LONG).show();
return true;
}
return super.onOptionsItemSelected(item);
}
}
答案 0 :(得分:0)
您必须将自定义工具栏传递给setActionBar(toolbar);
方法。
尝试在OnCreate
函数末尾添加上述代码语句。如果这不起作用,请进行以下更改。
styles.xml
:
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
在AndroidManifest.xml
:
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme.NoActionBar">
我在github上制作了一个示例代码,看看它 - &gt; Link