Android 2.3.3 用のドロップダウン スピナーを作成する方法はありますか? 私はActionbarSherlockを使用しています。
これが私が意味することの例です:
ありがとう
Android 2.3.3 用のドロップダウン スピナーを作成する方法はありますか? 私はActionbarSherlockを使用しています。
これが私が意味することの例です:
ありがとう
現状では、あなたは幸運です。これは ActionBarSherlock で実行でき、4.0 より前のバージョンで動作します。ただし、Jake Wharton がこのように使用することを 100% 確信しているわけではありません。正確には「パブリック API」ではないためです (私が尋ねるつもりでした)。とにかく、最初に ActionBarSherlock クラスから拡張する独自のクラスを作成する必要があります。
public class MyIcsSpinner extends IcsSpinner {
public MyIcsSpinner(Context context, AttributeSet attrs) {
super(context, attrs, com.actionbarsherlock.R.attr.actionDropDownStyle);
}
public MyIcsSpinner(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
}
レイアウトに含めるには:
<com.blah.blah.blah.MyIcsSpinner
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="center"
android:textAllCaps="true"
android:background="@drawable/abs__spinner_ab_holo_light"
android:textColor="#000000"
android:gravity="center"/>
カスタム を作成するSpinnerAdapter
必要があり、次のメソッドをオーバーライドして、適切なルック アンド フィールを取得する必要があります。
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final TextView filterName;
if (convertView == null) {
filterName = (TextView) layoutInflater.inflate(R.layout.filter_item, parent, false);
} else {
filterName = (TextView) convertView;
}
filterName.setText(getItem(position));
return filterName;
}
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
final TextView filterName;
if (convertView == null) {
filterName = (TextView) layoutInflater.inflate(R.layout.sherlock_spinner_dropdown_item, parent, false);
filterName.setEllipsize(TruncateAt.END);
} else {
filterName = (TextView) convertView;
}
filterName.setText(getItem(position));
return filterName;
}
YMMV、特に。テーマに関して。