我有一个用户使用Nexus 7反馈给我说我的应用程序屏幕显示为预期,除了我的Spinners,它看起来比他们应该做的要大得多.
Nexus 7上的大型微调器
http://imgur.com/X4Kqo
我有一个Spinner TextView布局:
<TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/textview" android:layout_height="36dip" android:layout_width="match_parent" android:textSize="24.5sp" android:textColor="#768766" />
这是由RelativeLayout生成的:
<Spinner android:id="@+id/spinner_weekday1" android:layout_below="@id/col1day" android:layout_height="wrap_content" android:prompt="@string/enterday" android:layout_width="200dip" android:entries="@array/weekdaylist" android:layout_marginRight="60dp" android:layout_marginBottom="20dip" android:textSize="24.5sp" android:textColor="#768766" />
我让应用程序在一系列其他设备上运行,看起来很好.任何想法为什么Nexus 7可能以这种方式显示Spinners?
解决方法
好的,我找到了解决方案.
我上面发布的Spinner布局实际上是来自res / layout-xlarge的Spinner,而Nexus是一个大型设备. res / layout-large包含以下xml:
android:textSize="200sp"
应该是什么时候:
android:textSize="20sp"
这当然是为什么微调文本看起来如此之大.
我想这突出了在没有物理测试设备的情况下尝试管理多种布局尺寸的难度.