我不明白为什么有些元素会有不同的呈现方式。这是一个模拟的 ActionBar,我在其中放置了一个Spinner来更改在线状态。然而,旋转器中的文本在Desire HD(2.3.5)和Nexus 7(4.2.2)上可见,但在LG P990(4.0.4)上,当前的旋转器项目不可见我做了实际位置带有绿色矩形。
这是我的代码,我操作Spinner一点点,以便文本可读:
IcsSpinner status = (IcsSpinner)content.findViewById(R.id.status);
OnlineAdapter adapter = new OnlineAdapter(status.getContext());
status.setAdapter(adapter);
status.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(IcsAdapterView<?> parent, View v, int position, long id) {
TextView tv = (TextView)parent.getChildAt(0);
tv.setTextSize(12);
tv.setPadding(0, 0, 0, 0);
}
public void onNothingSelected(IcsAdapterView<?> parent) {
}
});
顺便说一句,默认的Spinner在上面的代码片段中看起来是一样的,我正在使用ActionBarSherlock的后端口。
我试图使用:
tv.setPadding(0, -12, 0, 0);
对于ICS设备看起来很好,但在GB和JB上看起来不太好。
这是什么原因?
如何检测我是否需要纠正位置?