Изменить стиль кнопки вращения в Android - PullRequest
2 голосов
/ 21 марта 2011

как я могу изменить внешний вид кнопки спиннера? Сейчас мне просто нужно уменьшить размер шрифта. Просто кнопка, список в порядке. Спасибо

Ответы [ 3 ]

2 голосов
/ 21 марта 2011
1 голос
/ 29 марта 2011

Для этого вам нужно создать новый макет, который определяет внешний вид вашего счетчика, а именно.spinner_item.Вы можете использовать его следующим образом.Таким образом, свойства, такие как фон, виды, включаемые в счетчик, могут быть изменены.

 ImageSpinnerAdapter adapterForImageSpinner = new ImageSpinnerAdapter(this, true,
            spinnerData, R.layout.spinner_view, new String[] { "Name",
                    "Icon" }, new int[] {R.id.imageNameSpinner,
                    R.id.imageIconSpinner }, spinnerImages);

Это будет использоваться в адаптере следующим образом:

public class ImageSpinnerAdapter extends SimpleAdapter {
LayoutInflater mInflater;
private List<? extends Map<String, ?>> dataRecieved;
private int[] spinnerImagesReceived;
@SuppressWarnings("unused")
private HashMap<String, Object> data;
private boolean displayItems;
private int imageId;
private String imageText;

public ImageSpinnerAdapter(Context context, boolean displayItems,
        List<? extends Map<String, ?>> data, int resource, String[] from,
        int[] to, int[] spinnerImages) {
    super(context, data, resource, from, to);
    this.displayItems = displayItems;
    dataRecieved = data;
    mInflater = LayoutInflater.from(context);
    spinnerImagesReceived = spinnerImages;
}

@SuppressWarnings("unchecked")
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    if (convertView == null) {
        convertView = mInflater.inflate(R.layout.spinner_view, null);
    }

    data = (HashMap<String, Object>) getItem(position);
    if (displayItems) {
        setImageId(spinnerImagesReceived[position]);
        setImageText((String) dataRecieved.get(position).get("Name"));
    } else {
        setImageText("");
        setImageId(R.drawable.invalid);
    }
    ((ImageView) convertView.findViewById(R.id.imageIconSpinner))
    .setBackgroundResource(getImageId());
    ((TextView) convertView.findViewById(R.id.imageNameSpinner))
            .setText(getImageText());
    return convertView;
}

}

0 голосов
/ 25 марта 2011

Если вы хотите изменить фактический размер блесны, сделайте его менее высоким, просто используйте layout_height на вашем xml:

андроида: layout_height = "40dip"

Меньше, кнопка со стрелкой не будет хорошо выглядеть.

...