操作栏中没有显示任何内容
Nothing is showing up in the action bar
我为我的应用程序制作了一个自定义主题,它使用操作 bar.Now 当我 运行 我的应用程序操作栏可见但其中的按钮不可见时 visible.I 不知道发生了什么错了。
当我点击菜单按钮(第 3 个硬件按钮)时按钮可见,但不显示在操作栏上
Style.Xml
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>
<style name="TripLoggerTheme" parent="android:Theme.Holo.Light">
<item name="android:actionBarStyle">@style/TripLoggerActionBar</item>
<!--<item name="android:homeAsUpIndicator">@drawable/test</item>-->
</style>
<!--use to style the actionbar-->
<style name="TripLoggerActionBar" parent="android:Widget.ActionBar">
<item name="android:background">#6e784c</item>
<item name="android:showAsAction">ifRoom|always|collapseActionView|never|withText</item>
<item name="android:displayOptions">homeAsUp|showHome|showTitle</item>
</style>
Menu.Xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_settings"
android:title="@string/action_settings"
android:icon="@drawable/images"
app:showAsAction="always" />
</menu>
代码
public class MainActivity extends Activity {
private int[] images = {R.drawable.images, R.drawable.images_2, R.drawable.images_1, R.drawable.images_4, R.drawable.images, R.drawable.images_2};
private GridView gridView;
private LinearLayout linearLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.base_activity);
linearLayout = (LinearLayout) findViewById(R.id.root);
getActionBar();
// gridView = (GridView) findViewById(R.id.grid);
// gridView.setAdapter(new CustomAdapter(MainActivity.this, images));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_settings:
linearLayout.setVisibility(View.VISIBLE);
break;
}
return true;
}
如屏幕截图所示,当我单击下方的 3 个点时,测试是可见的,但它应该在我标记十字的顶部可见
我试图找出问题所在,但一切都是徒劳。
我相信您遇到的是标准 Android 行为。您可能想阅读 Action Overflow 上官方文档的以下文字:
The overflow icon only appears on phones that have no menu hardware keys. Phones with menu keys display the action overflow when the user presses the key.
首先,从快照来看,您似乎是在模拟器中进行测试。检查设备上是否发生同样的情况。
我为我的应用程序制作了一个自定义主题,它使用操作 bar.Now 当我 运行 我的应用程序操作栏可见但其中的按钮不可见时 visible.I 不知道发生了什么错了。
当我点击菜单按钮(第 3 个硬件按钮)时按钮可见,但不显示在操作栏上
Style.Xml
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>
<style name="TripLoggerTheme" parent="android:Theme.Holo.Light">
<item name="android:actionBarStyle">@style/TripLoggerActionBar</item>
<!--<item name="android:homeAsUpIndicator">@drawable/test</item>-->
</style>
<!--use to style the actionbar-->
<style name="TripLoggerActionBar" parent="android:Widget.ActionBar">
<item name="android:background">#6e784c</item>
<item name="android:showAsAction">ifRoom|always|collapseActionView|never|withText</item>
<item name="android:displayOptions">homeAsUp|showHome|showTitle</item>
</style>
Menu.Xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_settings"
android:title="@string/action_settings"
android:icon="@drawable/images"
app:showAsAction="always" />
</menu>
代码
public class MainActivity extends Activity {
private int[] images = {R.drawable.images, R.drawable.images_2, R.drawable.images_1, R.drawable.images_4, R.drawable.images, R.drawable.images_2};
private GridView gridView;
private LinearLayout linearLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.base_activity);
linearLayout = (LinearLayout) findViewById(R.id.root);
getActionBar();
// gridView = (GridView) findViewById(R.id.grid);
// gridView.setAdapter(new CustomAdapter(MainActivity.this, images));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_settings:
linearLayout.setVisibility(View.VISIBLE);
break;
}
return true;
}
如屏幕截图所示,当我单击下方的 3 个点时,测试是可见的,但它应该在我标记十字的顶部可见
我试图找出问题所在,但一切都是徒劳。
我相信您遇到的是标准 Android 行为。您可能想阅读 Action Overflow 上官方文档的以下文字:
The overflow icon only appears on phones that have no menu hardware keys. Phones with menu keys display the action overflow when the user presses the key.
首先,从快照来看,您似乎是在模拟器中进行测试。检查设备上是否发生同样的情况。