2

我创建了一个应用程序并一直在针对 targetSdk 14 对其进行测试。微调器几乎不可见。我在朋友的手机上试了一下,还是一样的。这是默认微调器的样子吗?这不好。edittext 也是如此。有什么意见吗?

在此处输入图像描述

看到右边那个小三角形了吗?这是唯一表明那里有物体的东西。

在此处输入图像描述

这是一张关于按钮在 4.0 上的样子的照片。

4

4 回答 4

4

是的,这是默认的微调器。Android 设计网站还有更多内容。

我认为您的问题是您在白色背景上使用了 Holo.Dark 微调器。如果您的应用程序有白色背景,最好使用 Holo.Light,它将使所有控件保持合理的对比度。

于 2012-06-08T14:31:33.867 回答
3

也许您Spinner处于“禁用”状态。disabled 的轮廓Spinner比正常的 (enabled) 略轻Spinner。这可能是它与明亮的白色背景混合的原因。

请参阅下面的 Holo Dark 和 Holo Light 主题中的几个Spinners,处于各种状态(来源:Android Design)。

Holo Dark 和 Holo Light 主题中的微调器,在不同的州。

于 2012-06-08T14:33:07.313 回答
3

是的,这是默认的 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 上它默认为黑色。

于 2012-06-09T09:39:36.407 回答
1

这就是默认微调器的样子,一个三角形和下划线......除了你显示的那个看起来被禁用。

Android 设计页面显示了不同状态的明暗主题。

于 2012-06-08T14:32:11.907 回答