您好我的Spinner Action Bar样式有问题。我有像这样的定制适配器Spinner:
@Override
protected void onCreate(Bundle savedInstanceState) {
...
// Spinner list
SpinnerMenuForm = new ArrayList<SpinnerNavItem>();
SpinnerMenuForm.add(new SpinnerNavItem("02","Fill Order - HSD Bunker", "HSD"));
SpinnerMenuForm.add(new SpinnerNavItem("14","Fill Order - MFO Bunker", "MFO"));
// title drop down adapter
adapterSpinnerMenuForm = new Adapter_List_Form(getApplicationContext(), SpinnerMenuForm);
...
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate our menu from the resources by using the menu inflater.
getMenuInflater().inflate(R.menu.main, menu);
View view1= (View) MenuItemCompat.getActionView(actionbar_form);
if (view1 instanceof Spinner)
{
final Spinner spinner = (Spinner) view1;
spinner.setAdapter(adapterSpinnerMenuForm);
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
TextView txtType= (TextView)spinner.getAdapter().getView(position, null, null).findViewById(R.id.txtType);
Variabel.type= txtType.getText().toString();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
return true;
}
和这个适配器微调器
@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_form, null);
}
txtNumber = (TextView) convertView.findViewById(R.id.txtNumber);
txtTitle = (TextView) convertView.findViewById(R.id.txtTitle);
txtType = (TextView) convertView.findViewById(R.id.txtType);
txtNumber.setText(spinnerNavItem.get(position).getNumber());
txtTitle.setText(spinnerNavItem.get(position).getTitle());
txtType.setText(spinnerNavItem.get(position).getType());
txtTitle.setVisibility(View.GONE);
return convertView;
}
@Override
public View getDropDownView(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_form, null);
}
txtNumber = (TextView) convertView.findViewById(R.id.txtNumber);
txtTitle = (TextView) convertView.findViewById(R.id.txtTitle);
txtType = (TextView) convertView.findViewById(R.id.txtType);
txtNumber.setText(spinnerNavItem.get(position).getNumber());
txtTitle.setText(spinnerNavItem.get(position).getTitle());
txtType.setText(spinnerNavItem.get(position).getType());
return convertView;
}
和此项目微调器布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:padding="5dp" >
<TextView android:id="@+id/txtNumber"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginRight="5dp"
/>
<TextView android:id="@+id/txtTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@id/txtNumber"/>
<TextView android:id="@+id/txtType"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"/>
</RelativeLayout>
结果
我使用http://jgilfelt.github.io/android-actionbarstylegenerator/但从未像教程http://blog.stylingandroid.com/styling-the-actionbar-part-4/那样更改Style Spinner
那怎么解决呢?对不起我的英文
答案 0 :(得分:0)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="20dp"
android:padding="5dp"
android:background="#ff00DDED"> /////clour code thst use
<TextView android:id="@+id/txtNumber"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginRight="5dp"
/>
<TextView android:id="@+id/txtTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@id/txtNumber"/>
<TextView android:id="@+id/txtType"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"/>