我有一个微调器,在程序中,我设置的尺寸是这样的:
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%。 下图可以看出问题所在:
字母y的底部被切掉。我试图通过将文本视图的大小减少4倍来减小它的大小:
view.setTextSize(TypedValue.COMPLEX_UNIT_PX, multisize / 4);
但是我最终遇到以下情况:
因此,似乎将下拉列表的文本大小更改了4,但微调框本身的textview并未更改。我想知道我做错了吗?