• Android设置spinner字体


    弹出下拉菜单可以直接设置,但是显示字体需要使用自定义适配器来生效
    你尝试在 Spinner 上应用了自定义的样式,但似乎字体大小未更改。在 Spinner 控件中更改字体大小可能需要使用自定义适配器来生效。尽管你在样式 setting_spinner 中设置了 android:textSize,但这只会影响下拉列表中的文本大小,而不会影响 Spinner 自身的文本大小。

    为了更改 Spinner 控件的文本大小,你可以尝试以下方法:

    1. 创建一个自定义适配器并在适配器中设置文本大小。

    2. CustomSpinnerAdapter 中,在 getView 方法中设置 TextView 的文本大小。以下是示例代码:

    1. public class CustomSpinnerAdapter extends ArrayAdapter {
    2. public CustomSpinnerAdapter(Context context, List items) {
    3. super(context, R.layout.custom_spinner_item, items);
    4. setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    5. }
    6. @NonNull
    7. @Override
    8. public View getView(int position, View convertView, @NonNull ViewGroup parent) {
    9. View view = super.getView(position, convertView, parent);
    10. TextView textView = view.findViewById(android.R.id.text1);
    11. textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 24); // 设置字体大小
    12. return view;
    13. }
    14. }

    然后,使用这个自定义适配器来初始化你的 Spinner

    1. List items = new ArrayList<>();
    2. // 添加选项到 items 列表
    3. CustomSpinnerAdapter adapter = new CustomSpinnerAdapter(this, items);
    4. Spinner firstSpinner = findViewById(R.id.firstSpinner);
    5. firstSpinner.setAdapter(adapter);

    这样,你应该能够更改 Spinner 控件中文本的大小。请确保在适配器中设置字体大小,并且 android:theme 中的 setting_spinner 样式不再需要。

    在你的 XML 布局中,你已经为 Spinner 设置了自定义主题样式 android:theme="@style/setting_spinner",但是你的自定义主题样式 setting_spinner 是基于 @android:style/Widget.TextView.SpinnerItem 进行定义的,该样式可能不会影响 Spinner 中的文本大小。

    要更改 Spinner 中文本的大小,你需要自定义 Spinner 中的文本视图。你可以创建一个自定义的布局文件,例如 custom_spinner_item.xml,并在其中定义你想要的文本样式。然后,在你的自定义适配器中,将这个布局应用到每个 Spinner 选项上。

    以下是修改 Spinner 字体大小的步骤:

    1. 创建一个自定义布局资源文件,例如 custom_spinner_item.xml,用于定义 Spinner 中每个选项的样式:
    1. <TextView xmlns:android="http://schemas.android.com/apk/res/android"
    2. android:id="@android:id/text1"
    3. style="?android:attr/spinnerItemStyle"
    4. android:layout_width="match_parent"
    5. android:layout_height="wrap_content"
    6. android:textSize="24sp" -- 设置字体大小为 24sp -->
    7. android:textColor="@color/your_text_color"
    8. android:padding="8dp"
    9. />

    在上面的布局文件中,你可以更改 android:textSize 属性来定义文本的大小,并根据需要更改其他样式属性。

    1. 在你的 Java 代码中,创建一个自定义适配器,并将自定义的布局资源文件应用到每个 Spinner 选项上。确保设置适配器的 DropDownViewResource,以确保下拉列表项使用相同的自定义样式:
    1. List items = new ArrayList<>();
    2. // 添加选项到 items 列表
    3. CustomSpinnerAdapter adapter = new CustomSpinnerAdapter(this, items);
    4. adapter.setDropDownViewResource(R.layout.custom_spinner_item); // 设置下拉项样式
    5. Spinner firstSpinner = findViewById(R.id.firstSpinner);
    6. firstSpinner.setAdapter(adapter);

    在上述代码中,R.layout.custom_spinner_item 引用了你创建的自定义布局文件。

    现在,你应该能够在 Spinner 中看到修改后的文本大小。

    如果你仍然遇到问题,请确保你的 custom_spinner_item.xml 文件正确,并且没有其他样式或主题覆盖了你的设置。

  • 相关阅读:
    IIC 实验
    读书笔记:软件工程(2) - 软件工程概述(2)
    474. 一和零
    【图像隐写】基于matlab遗传算法的奇异值分解数字水印嵌入提取【含Matlab源码 2115期】
    [计算机网络实验] ICMPv4协议
    【数模】因子分析
    小程序获取用户手机号码
    pdf怎么压缩的小一点?pdf文件压缩方法汇总
    java计算机毕业设计工资管理系统MyBatis+系统+LW文档+源码+调试部署
    Leecode-SQL 1393. 股票的资本损益
  • 原文地址:https://blog.csdn.net/zhaogaojian/article/details/133764837