gpt4 book ai didi

Android Spinner 工具栏样式

转载 作者:IT老高 更新时间:2023-10-28 23:01:18 26 4
gpt4 key购买 nike

如何实现toolbox中spinner的material design?我尝试了以下方法,但我的微调器看起来像这样

enter image description here

<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="56dp"
android:background="@color/main_color"
app:contentInsetLeft="14dp"
app:contentInsetRight="14dp"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:theme="@style/ThemeOverlay.AppCompat.ActionBar">

<Spinner
android:id="@+id/spinner_nav"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

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

我的最小 sdk 是 15。

在我的 onCreate 上

ButterKnife.inject(this);

mToolbar.inflateMenu(R.menu.menu_login);
mToolbar.setTitle(R.string.sign_in);
mToolbar.setOnMenuItemClickListener(this);

SpinnerAdapter spinnerAdapter = ArrayAdapter.createFromResource(this,
R.array.options, android.R.layout.simple_spinner_dropdown_item);

mSpinner.setAdapter(spinnerAdapter);
mSpinner.setOnItemSelectedListener(this);

A menu is a temporary sheet of paper that always overlaps the App Bar, rather than behaving as an extension of the App Bar.

任何链接都会有很大帮助

更新

我已经达到了我想要的目标

enter image description here

我用过这个

 ButterKnife.inject(this);

mToolbar.setTitle(R.string.sign_in);
setSupportActionBar(mToolbar);

SpinnerAdapter spinnerAdapter = ArrayAdapter.createFromResource(getSupportActionBar().getThemedContext(),
R.array.options, android.R.layout.simple_spinner_dropdown_item);

getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
getSupportActionBar().setListNavigationCallbacks(spinnerAdapter, this);

和我的 xml

  <android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="56dp"
android:background="@color/app_secondary_color"
app:contentInsetLeft="14dp"
app:contentInsetRight="14dp"
app:popupTheme="@style/ThemeOverlay.AppCompat"
app:theme="@style/ThemeOverlay.AppCompat.ActionBar">

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

但是我如何让它变成白色而菜单的文本颜色是蓝色的呢?我也有这个问题。好像太远了?有什么办法可以修复这个下拉箭头?

enter image description here

更新 2

在花了这么多时间尝试之后,我已经实现了如何使它变白和文本颜色变黑通过这个。我已经为下拉样式创建了自定义布局

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

<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerDropDownItemStyle"
android:singleLine="true"
android:layout_width="match_parent"
android:background="@color/background_material_light"
android:textColor="@color/abc_primary_text_material_light"
android:layout_height="48dp"
android:ellipsize="marquee"/>

然后在我的 oncreate 上添加此代码

 spinnerAdapter.setDropDownViewResource(R.layout.custom_simple_spinner_dropdown_item);

我现在遇到的唯一问题是按下状态不起作用,它只是一个平面白色。如果您在另一个弹出菜单上看到,当您单击一个项目时,背景颜色会变暗一点。而且这个烦人的图标离文字还是太远了。

最佳答案

如果你想让按下状态起作用,你应该添加一个 Drawable 选择器而不是颜色作为背景。选择器示例:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:drawable="@drawable/numpad_button_bg_selected" android:state_selected="true"></item>
<item android:drawable="@drawable/numpad_button_bg_pressed" android:state_pressed="true"></item>
<item android:drawable="@drawable/numpad_button_bg_normal"></item>

</selector>

关于Android Spinner 工具栏样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27118339/

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