我想在Android中更改默认微调器的字体样式 请指导我如何操作。
答案 0 :(得分:0)
我建议您为微调器创建一个自定义xml文件,您可以在其中根据需要设置textSize和textcolor。对于字体样式,您首先需要转到res文件夹并右键单击它,然后选择Android资源目录。在资源类型列表中,选择字体。然后将您的字体文件添加到在res下创建的字体文件夹中。然后,只需在自定义微调器XML文件中使用它即可。
android:fontFamily=@font/"name of your font file"
尝试一下可能会起作用。
答案 1 :(得分:0)
您应该使用自己的布局创建自定义ArrayAdapter。
这里是一个例子:
public class ShippingMethodSpinnerAdapter extends ArrayAdapter<YourModel> {
public ShippingMethodSpinnerAdapter(@NonNull Context context,
@NonNull List<YourModel> objects) {
super(context, R.layout.shipping_method_spinnert_item, objects);
}
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
return itemView(position, convertView, parent);
}
@Override
public View getDropDownView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
return itemView(position, convertView, parent);
}
private View itemView(int position, View convertView, ViewGroup parent) {
if(convertView == null) {
convertView = LayoutInflater.from(getContext()).inflate(R.layout.shipping_method_spinnert_item,
parent, false);
}
TextView txtShippingMethod = convertView.findViewById(R.id.txtShippingMethod);
txtShippingMethod.setText(getItem(position).getTitle());
return convertView;
}
}
您的模型可以是这样的:
public class YourModel {
private String title;
private String value;
public ShippingMethodSpinnerModel(String title, String value) {
this.title = title;
this.value = value;
}
public String getTitle() {
return title;
}
public String getValue() {
return value;
}
}
然后将此适配器添加到微调器中
spinner.setAdapter(adapter);