Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android微调器下拉箭头未显示_Android_Xml_Layout_Fragment_Spinner - Fatal编程技术网

Android微调器下拉箭头未显示

Android微调器下拉箭头未显示,android,xml,layout,fragment,spinner,Android,Xml,Layout,Fragment,Spinner,片段的背景是白色的,旋转器的箭头不会显示,除非单击它 这是我的Java文件中的代码段: spinner = (Spinner)v.findViewById(R.id.spinner); ArrayAdapter adapter = ArrayAdapter.createFromResource(getActivity(), R.array.accounts,R.layout.spinner_item); adapter.setDropDownViewResource(R.

片段的背景是白色的,旋转器的箭头不会显示,除非单击它

这是我的Java文件中的代码段:

    spinner = (Spinner)v.findViewById(R.id.spinner);
    ArrayAdapter adapter = ArrayAdapter.createFromResource(getActivity(), R.array.accounts,R.layout.spinner_item);
    adapter.setDropDownViewResource(R.layout.spinner_dropdown_items);
    spinner.setAdapter(adapter);
    spinner.setPrompt("Select an account");
这是我对spinner_项目的建议

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerItemStyle"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:textAlignment="inherit"
android:textSize="16dp"
android:background="#FFFFFFFF"
android:textColor="#ff252525"/>

这是我的微调器下拉菜单项的布局

<?xml version="1.0" encoding="utf-8"?>

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerItemStyle"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:textAlignment="inherit"
android:textSize="16dp"
android:background="#FFFFFFFF"
android:textColor="#ff252525"/>

这是我的微调器在片段的白色背景下的外观: 这就是我将背景颜色更改为紫色时的效果:
最简单的方法是设置背景图像(带箭头)而不是颜色

 spinner.setBackgroundResource(R.drawable.spinner_img);
希望有帮助。

试试这个:

<Spinner
     android:id="@+id/spinnPhoneTypes"
     android:layout_width="0dp"
     style="@android:style/Widget.Spinner.DropDown"
     android:layout_height="@dimen/thirtyFive"
     android:layout_marginLeft="10dp"
     android:layout_weight="1"
     android:background="@drawable/shape_drop_down_normal"
     android:gravity="center_vertical" />

shape_drop_down_normal.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item>
        <shape>
            <solid android:color="@android:color/transparent" />

            <stroke
                android:width="1dp"
                android:color="#6f94c7" />

            <padding
                android:bottom="10dp"
                android:left="2dp"
                android:right="10dp"
                android:top="10dp" />
        </shape>
    </item>
    <item>
        <bitmap
            android:gravity="end"
            android:src="@drawable/drop_arrow" />
    </item>
</layer-list>

这对我来说很有效,也很简单:

<Spinner
      android:id="@+id/spinner"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:theme="@style/ThemeOverlay.AppCompat.Light"
      android:spinnerMode="dropdown" />

希望这有帮助;)

只需在
Spinner
标记中添加主题即可

android:theme="@style/ThemeOverlay.AppCompat.Light"

检查是否为
微调器提供背景,如果确实删除了它,它将解决问题要避免使用可绘制的,请在视图中包装微调器,并为包装器视图设置背景色。比如说,

<android.support.v7.widget.CardView
        android:id="@+id/cardView_spinner"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:layout_margin="32dp"
        android:background="@color/white">

        <Spinner
            android:id="@+id/spinner"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />

    </android.support.v7.widget.CardView>


删除微调器的背景色可能是您设置了白色背景,不会显示下拉图标

如果您使用材质组件作为主题,这也适用于我

<Spinner
      android:id="@+id/spinner"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:theme="@style/Theme.MaterialComponents.Light"
      android:spinnerMode="dropdown" />


我该怎么做?我不太确定我是如何尝试这种方法的,只是一个补充:如果你的下拉箭头是一个向量,你必须改变
我尝试过这种方法,但随后图片会在微调器上到处都是。我希望箭头指向旋转器的一侧。所以现在看起来是这样的;[
<Spinner
      android:id="@+id/spinner"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:theme="@style/Theme.MaterialComponents.Light"
      android:spinnerMode="dropdown" />
spinner = (Spinner) view.findViewById(R.id.spinner);
ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.spinner_data, android.R.layout.simple_spinner_dropdown_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
    <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:background="@drawable/edit_bg">
            <androidx.appcompat.widget.AppCompatSpinner
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:fontFamily="@font/railayregular"
                app:adapter="@{adapter}"
                android:onItemSelected="@{click::click}"
                android:textColor="@color/black"
                android:spinnerMode="dropdown"
                android:theme="@style/Theme.AppCompat.Light"
                android:textColorHint="@color/black" />
        </RelativeLayout>