ActionBar下拉导航自定义布局样式

时间:2014-04-24 18:32:04

标签: android android-actionbar spinner

如何在自定义布局中设置ActionBar下拉导航微调器的样式?

另外,如何更改微调器的大小?

我在自定义适配器的getView()方法中膨胀自定义布局:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    if (convertView == null) {
        LayoutInflater mInflater = (LayoutInflater) context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
        convertView = mInflater.inflate(R.layout.list_item_navigation_dropdown, null);
    }

    txtTitle = (TextView) convertView.findViewById(R.id.title);
    txtTitle.setText(spinnerNavItem.get(position).getTitle());
    return convertView;
}

我试图在list_item_navigation_dropdown.xml中更改布局大小,但它只影响微调器的文本值。

1 个答案:

答案 0 :(得分:2)

  

如何在自定义中设置ActionBar下拉导航微调器的样式   布局?

Spinner主题的唯一部分是使用actionDropDownStyle属性应用自己的样式的背景。这是一个例子:

<style name="Your.Theme" parent="@android:style/Theme.Holo.Light">
    <item name="android:actionDropDownStyle">@style/Your.Spinner</item>
</style>

<style name="Your.Spinner" parent="@android:style/Widget.Holo.Light.Spinner">
    <item name="android:background">@drawable/your_background</item>
</style>
  

另外,如何更改微调器的大小?

我认为您正在询问如何更改Spinner的布局参数,在这种情况下您不能。

Spinner中的ActionBar是使用ScrollingTabContainerView在内部创建的。默认情况下,宽度设置为LinearLayout.LayoutParams.WRAP_CONTENT,高度设置为LinearLayout.LayoutParams.MATCH_PARENT。但ActionBar API中的任何内容都不允许您修改Spinner的大小。

另一种方法是使用ActionBar.setCustomView并对包含您自己的Spinner的布局进行充气。