制作了customNumberPicker:
public class CustomNumberPicker extends NumberPicker {
public CustomNumberPicker(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public void addView(View child) {
super.addView(child);
updateView(child);
}
@Override
public void addView(View child, int index, android.view.ViewGroup.LayoutParams params) {
super.addView(child, index, params);
updateView(child);
}
@Override
public void addView(View child, android.view.ViewGroup.LayoutParams params) {
super.addView(child, params);
updateView(child);
}
private void updateView(View view) {
if (view instanceof TextView) {
TextView tv = (TextView) view;
tv.setLines(3);
tv.setTextSize(16);
tv.setTextColor(Color.BLUE);
tv.setPadding(20, 10, 20, 10);
tv.setMaxWidth(10);
tv.setSingleLine(false);
tv.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
tv.requestLayout();
tv.invalidate();
}
}
}
}
我用这种方式称呼它:
XML:
<hu.enyim.pickerexample.CustomNumberPicker
android:id="@+id/picker"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:descendantFocusability="blocksDescendants"/>
的java:
picker = (CustomNumberPicker) findViewById(R.id.picker);
picker.setMinValue(0);
picker.setMaxValue(values.length - 1);
picker.setDisplayedValues(values);
但长文字不适合屏幕。
我想让它像multiLine一样工作。 请帮我解决一下这个。 谢谢!
这是一段关于它的视频: video