gpt4 book ai didi

android - 如何在微调器每个项目之间设置分隔符?

转载 作者:行者123 更新时间:2023-12-05 00:09:18 24 4
gpt4 key购买 nike

我正在寻找一些解决方案并尝试完成它。分频器仍然没有显示出来。

我在styles.xml 中为我的主题设置了样式:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Others theme here. -->
<item name="android:dropDownListViewStyle">@style/mySpinnerStyle</item>
</style>

这是 mySpinnerStyle
<style name="mySpinnerStyle" parent="android:Widget.ListView.DropDown">
<item name="android:divider">#00ff00</item>
<item name="android:dividerHeight">1dp</item>
</style>

这是我的微调器 fragment 代码:
Spinner chooseDate = (Spinner) view.findViewById(R.id.chooseDate);

String[] date_group = dateList.toArray(new String[dateList.size()]);
ArrayAdapter<String> itemDate = new ArrayAdapter<String>(getActivity(), R.layout.spinner, date_group);
itemDate.setDropDownViewResource(R.layout.spinner);
chooseDate.setAdapter(itemDate);

这是我的微调器布局 xml:
<Spinner
android:theme="@style/mySpinnerStyle"
android:spinnerMode="dialog"
android:layout_gravity="center"
android:layout_marginLeft="8dp"
android:layout_marginRight="16dp"
android:id="@+id/chooseDate"
android:layout_width="match_parent"
android:layout_height="38dp"
android:background="@drawable/spinner_arrow" />

然后 R.layout.spinner xml 是这样的:
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:textSize="22dp"
android:theme="@style/mySpinnerStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:gravity="center"
android:paddingRight="40dp"
android:singleLine="true" />

我单击我的微调器显示这样的对话框,最终没有分隔线......
enter image description here

我为我的微调器设置了样式,但我无法显示分隔线。我不知道为什么?

任何帮助,将不胜感激 。提前感谢。

list 使用我的 AppTheme:
<application
android:allowBackup="true"
android:icon="@drawable/app_icon_512x512"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:name="android.support.multidex.MultiDexApplication">

最佳答案

这可能会帮助你,

activity_main.xml

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/rl"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp"
tools:context=".MainActivity"
android:background="#effbe4"
>
<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</RelativeLayout>

spinner_item.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:background="@drawable/spinner_item_border"
/>

spinner_item_border.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="#ff2632"/>
</shape>
</item>
<item android:bottom="2dp">
<shape android:shape="rectangle">
<solid android:color="#d7ffa2"/>
</shape>
</item>
</layer-list>

Activity 中
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// Get reference of widgets from XML layout
Spinner spinner = (Spinner) findViewById(R.id.spinner);

// Initializing a String Array
String[] plants = new String[]{
"Black birch",
"Bolean birch",
"Canoe birch",
"Cherry birch",
"European weeping birch"
};

// Initializing an ArrayAdapter
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(
this,R.layout.spinner_item,plants
);
spinnerArrayAdapter.setDropDownViewResource(R.layout.spinner_item);
spinner.setAdapter(spinnerArrayAdapter);
}
}

关于android - 如何在微调器每个项目之间设置分隔符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47425382/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com