我为我的应用程序制作了一个使用操作栏的自定义主题。现在,当我运行我的应用程序时,操作栏可见,但其中的按钮不可见。我不知道出了什么问题。
当我点击菜单按钮(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个点时,测试是可见的,但它应该在我标记了十字架的顶部可见
我试图找出可能出现问题但却徒劳无功的事情。
答案 0 :(得分:0)
我相信您遇到的是标准的Android行为。您可能希望阅读Action Overflow上的官方文档中的以下文字:
溢出图标仅出现在没有菜单硬件键的手机上。当用户按下键时,带有菜单键的电话会显示操作溢出。
首先,从快照开始,您似乎在模拟器中进行测试。检查设备上是否发生了同样的情况。