操作栏中没有显示任何内容

时间:2015-01-21 05:55:17

标签: android android-actionbar

我为我的应用程序制作了一个使用操作栏的自定义主题。现在,当我运行我的应用程序时,操作栏可见,但其中的按钮不可见。我不知道出了什么问题。

当我点击菜单按钮(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;

    }

enter image description here

如屏幕截图所示,当我点击下面的3个点时,测试是可见的,但它应该在我标记了十字架的顶部可见

我试图找出可能出现问题但却徒劳无功的事情。

1 个答案:

答案 0 :(得分:0)

我相信您遇到的是标准的Android行为。您可能希望阅读Action Overflow上的官方文档中的以下文字:

  

溢出图标仅出现在没有菜单硬件键的手机上。当用户按下键时,带有菜单键的电话会显示操作溢出。

首先,从快照开始,您似乎在模拟器中进行测试。检查设备上是否发生了同样的情况。