微调框的文字大小未更改(通过编程方式)

时间:2018-10-22 12:44:53

标签: android android-spinner text-size

我有一个微调器,在程序中,我设置的尺寸是这样的:

final Spinner daySelection = layout.findViewById(R.id.day_selection);

            String []daySelectionValues = {"Today", "Tomorrow"};
            ArrayAdapter<String> daySelectionAdapter =  new ArrayAdapter<String>(mContext, android.R.layout.simple_spinner_item, daySelectionValues) {
                @Override
                public View getView(int position, View convertView, ViewGroup parent) {
                    TextView view = (TextView) super.getView(position, convertView, parent);
                    adjustSize(view);
                    return view;
                }

                private void adjustSize(TextView view) {
                    CharSequence mystr = view.getText();
                    view.setText("Tomorrow");
                    float multisize = SharedFunctions.correctHeightAndWidth(view, 0.09*(float)(height - toolbarHeight)/(float)height, 1, windowManager);
                    view.setTextSize(TypedValue.COMPLEX_UNIT_PX, multisize);
                    view.setGravity(Gravity.CENTER);

                    view.setText(mystr);
                }

                // Affects opened state of the spinner
                @Override
                public View getDropDownView(int position, View convertView, ViewGroup parent) {
                    TextView view = (TextView) super.getDropDownView(position, convertView, parent);
                    adjustSize(view);
                    return view;
                }
            };
            daySelection.setAdapter(daySelectionAdapter);

xml文件:

<Spinner
        android:padding="0dp"
        android:layout_margin="0dp"
        android:id="@+id/day_selection"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_constraintBottom_toTopOf="@+id/guideline4"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/guideline3" />

这些准则彼此相距10%。 下图可以看出问题所在:

enter image description here

不过,下拉文本显示为OK(在点击微调器时): enter image description here

字母y的底部被切掉。我试图通过将文本视图的大小减少4倍来减小它的大小:

view.setTextSize(TypedValue.COMPLEX_UNIT_PX, multisize / 4);

但是我最终遇到以下情况:

enter image description here

因此,似乎将下拉列表的文本大小更改了4,但微调框本身的textview并未更改。我想知道我做错了吗?

0 个答案:

没有答案