我创建了一个应用程序并一直在针对 targetSdk 14 对其进行测试。微调器几乎不可见。我在朋友的手机上试了一下,还是一样的。这是默认微调器的样子吗?这不好。edittext 也是如此。有什么意见吗?
看到右边那个小三角形了吗?这是唯一表明那里有物体的东西。
这是一张关于按钮在 4.0 上的样子的照片。
我创建了一个应用程序并一直在针对 targetSdk 14 对其进行测试。微调器几乎不可见。我在朋友的手机上试了一下,还是一样的。这是默认微调器的样子吗?这不好。edittext 也是如此。有什么意见吗?
看到右边那个小三角形了吗?这是唯一表明那里有物体的东西。
这是一张关于按钮在 4.0 上的样子的照片。
是的,这是默认的微调器。Android 设计网站还有更多内容。
我认为您的问题是您在白色背景上使用了 Holo.Dark 微调器。如果您的应用程序有白色背景,最好使用 Holo.Light,它将使所有控件保持合理的对比度。
也许您Spinner
处于“禁用”状态。disabled 的轮廓Spinner
比正常的 (enabled) 略轻Spinner
。这可能是它与明亮的白色背景混合的原因。
请参阅下面的 Holo Dark 和 Holo Light 主题中的几个Spinner
s,处于各种状态(来源:Android Design)。
是的,这是默认的 4.0 微调器。我正在接受我自己的答案,因为我正在提供解决方案。它没有被禁用,只是看起来不可见。虽然我将它设置为启用它使它变得更好(对于其他人:setEnabled 命令只存在于 java 代码中,在 xml 中它不存在))。然后我调整了一个自定义微调器以使文本可见,因为微调器没有文本颜色。
我将微调器项放在 values 文件夹中的 arrays.xml 中:
<resources>
<string-array name="duration">
<item>Top 5 duration of outgoing calls</item>
<item>Top 5 duration of incoming calls</item>
<item>Top 5 duration of all calls</item>
</string-array>
</resources>
创建了一个 spinner.xml 作为微调器文本的布局:
<?xml version="1.0" encoding="utf-8"?>
<TextView android:id="@+id/spinnerText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:textColor="#000000"
android:textSize="16dp"
xmlns:android="http://schemas.android.com/apk/res/android"/>
然后我将这些设置为适配器:
ArrayAdapter<CharSequence> adapter_spinner = ArrayAdapter.createFromResource(ChartsDuration.this, R.array.duration, R.layout.spinner);
adapter_spinner.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
正如您在照片上看到的,4.0 上的按钮文本是白色的,这很糟糕。解决方案很容易将文本颜色设置为黑色,即使在 sdk < 11 上它默认为黑色。
这就是默认微调器的样子,一个三角形和下划线......除了你显示的那个看起来被禁用。
Android 设计页面显示了不同状态的明暗主题。