我正在使用Actionbarsherlock并希望使用自定义操作栏布局,但仍需要导航列表。因此,我包含了一个IcsSpinner小部件。但是,宽度始终与最大项目一样大,这是不可取的。我把它从操作栏中分离出来进行调试,但仍然得到了相同的结果:
片段代码
public class TestFragment extends SherlockFragment {
private final String[] testStrings = {"Short","Not so long text"};
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.test_layout, container, false);
IcsSpinner spinner = (IcsSpinner)view.findViewById(R.id.test_spinner);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),
R.layout.spiner_test_row, R.id.spinner_text, testStrings);
spinner.setAdapter(adapter);
return(view);
}
}
test_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<com.actionbarsherlock.internal.widget.IcsSpinner
android:id="@+id/test_spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
R.layout.spinner_test_row
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/spinner_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16sp" />
更改为标准微调器(在姜饼模拟器上)工作正常:
任何建议?
答案 0 :(得分:-1)
这似乎是ActionBarSherlock中IcsSpinner组件的默认行为,即使在运行Honeycomb +版本的Android时 - 例如我的ICS设备上的方形钱包。
Jake建议不要使用IcsSpinner组件,但如果没有它,则无法使用自定义操作栏布局和维护导航列表UI的简单方法。除非Jake能够提出建议和替代方案,否则我将继续使用它,确保对未来版本的大型图书馆进行全面测试。