app:showAsAction 始终显示 "never" 属性
app:showAsAction is always showing "never" attribute
我只是一个初学者,所以我试图制作一个 Android 应用程序来专门了解 menu.xml
和 ActionBar
。所以我正在尝试添加 MenuItems
,这是我的 menu.xml
代码:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:PizzaApp="http://schemas.android.com/apk/res-auto"
tools:context=".MainActivity">
<item android:id="@+id/action_order_pizza"
android:icon="@drawable/order_pizza"
android:title="@string/order_pizza"
android:orderInCategory="1"
PizzaApp:showAsAction="ifRoom"/>
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="2"
PizzaApp:showAsAction="never"/>
</menu>
因为我想让我的应用程序使用 Material design
,我实际上没有 extend
AppCompatActivity
,但我使用了 support.v7.app
依赖项,只是为了让应用兼容。现在由于 support.v7.app
库不包含 showAsAction
函数,我在 menu.xml 中使用了我的 AppName
而不是 android
。但问题是,除了 action_setting
项目,action_order_pizza
也出现在 overflow 而不是 ActionBar 中。请帮忙!这是 MainActivity
代码:
import android.content.Intent;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return super.onCreateOptionsMenu(menu);
}
提前致谢!
Note: If I'm using android
instead of PizzaApp
, Android Studio shows an error though still when you run the app, it works fine!
如果您想使用 AppCompat 的任何部分,例如 app:showAsAction
,您应该扩展 AppCompatActivity
并使用 Theme.AppCompat
。 Theme.AppCompat
extends Theme.Material
并允许您在所有 API 9+ 设备上使用 material 设计。
我只是一个初学者,所以我试图制作一个 Android 应用程序来专门了解 menu.xml
和 ActionBar
。所以我正在尝试添加 MenuItems
,这是我的 menu.xml
代码:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:PizzaApp="http://schemas.android.com/apk/res-auto"
tools:context=".MainActivity">
<item android:id="@+id/action_order_pizza"
android:icon="@drawable/order_pizza"
android:title="@string/order_pizza"
android:orderInCategory="1"
PizzaApp:showAsAction="ifRoom"/>
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="2"
PizzaApp:showAsAction="never"/>
</menu>
因为我想让我的应用程序使用 Material design
,我实际上没有 extend
AppCompatActivity
,但我使用了 support.v7.app
依赖项,只是为了让应用兼容。现在由于 support.v7.app
库不包含 showAsAction
函数,我在 menu.xml 中使用了我的 AppName
而不是 android
。但问题是,除了 action_setting
项目,action_order_pizza
也出现在 overflow 而不是 ActionBar 中。请帮忙!这是 MainActivity
代码:
import android.content.Intent;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return super.onCreateOptionsMenu(menu);
}
提前致谢!
Note: If I'm using
android
instead ofPizzaApp
, Android Studio shows an error though still when you run the app, it works fine!
如果您想使用 AppCompat 的任何部分,例如 app:showAsAction
,您应该扩展 AppCompatActivity
并使用 Theme.AppCompat
。 Theme.AppCompat
extends Theme.Material
并允许您在所有 API 9+ 设备上使用 material 设计。