Android:视图未显示在工具栏中

时间:2017-02-13 15:14:23

标签: android android-layout

我正在尝试将两个微调器放入工具栏(使用coordinatorlayout)

代码如下

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:theme="@style/AppTheme"
    tools:context="com.reports.Dashboard">
    <include layout="@layout/content_dashboard"/>
    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="?attr/colorPrimary"
            android:elevation="8dp"
            android:minHeight="?attr/actionBarSize">
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal">
                <TextView
                    android:id="@+id/dashboard_textview_id"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:elevation="1dp"
                    android:text="Current Month">
                </TextView>
                <Spinner
                    android:id="@+id/dashbard_spinner_month"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"/>
                <Spinner
                    android:id="@+id/dashbard_spinner_year"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"/>
            </LinearLayout>
        </android.support.v7.widget.Toolbar>
    </android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>

问题是当我检查android模拟器SDK版本25时它正确显示,但是当我在物理设备上运行时,微调器或TextView不可见。这与支持库版本有关吗?

我也试过运行SDK版本23,但看到了相同的行为

2 个答案:

答案 0 :(得分:1)

试试这段代码

 @Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu, menu);

    MenuItem item = menu.findItem(R.id.spinner);

    spinner = (Spinner) MenuItemCompat.getActionView(item);

    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
            R.array.spinner_list_item_array, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    spinner.setAdapter(adapter);

    return true;



}

和menu.xml

<?xml version="1.0" encoding="utf-8"?>
 <menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
   <item
    android:id="@+id/info"
    android:title="info"
    android:icon="@drawable/ic_info"
    app:showAsAction="always"
    ></item>
 <item
    android:id="@+id/spinner"
    android:title="ActionBar Spinner"
    app:actionViewClass="android.widget.Spinner"
    android:background="#ffffff"

    app:showAsAction="always" />

    </menu>

答案 1 :(得分:0)

在我用v7 spinner

替换Spinner之后,它工作了
android.support.v7.widget.Spinner