在DialogFragment中显示TimePickerView,如何让TimePickerView显示在DialogFragment之上
6yoyoihd1#
参数中的decorView,代表显示pickerview的根View,默认是activity的根view。所以如果想要在DialogFragment界面中显示的话,这里的decorView需要是DialogFragment的根View,例如:
mOptionsPickerView = new OptionsPickerView.Builder(mContext, new OptionsPickerView.OnOptionsSelectListener() {@OverRidepublic void onOptionsSelect(int options1, int option2, int options3, View v) {//}})
.setDecorView((RelativeLayout)myView.findViewById(R.id.dialog_rootview))
.setTitleText("选择频道")//标题文字.setTitleSize(20)//标题文字大小.build();
注意:跟View不能是LinearLayout!!!可以是RelativeLayout
anauzrmj2#
设置decorView,会卡顿一下
6xfqseft3#
卡顿?具体什么现象?我这边没有发现卡顿呢
vwoqyblh4#
确实会卡一下, TimePickerView.isDialog(true).build();。点击弹出TimePickerView Dialog的时候会卡顿一下才会弹出来
4条答案
按热度按时间6yoyoihd1#
在Builder的时候使用.setDecorView(ViewGroup decorView)方法;
参数中的decorView,代表显示pickerview的根View,默认是activity的根view。
所以如果想要在DialogFragment界面中显示的话,这里的decorView需要是DialogFragment的根View,例如:
mOptionsPickerView = new OptionsPickerView.Builder(mContext, new OptionsPickerView.OnOptionsSelectListener() {
@OverRide
public void onOptionsSelect(int options1, int option2, int options3, View v) {
//
}
})
.setDecorView((RelativeLayout)myView.findViewById(R.id.dialog_rootview))
.setTitleText("选择频道")//标题文字
.setTitleSize(20)//标题文字大小
.build();
注意:跟View不能是LinearLayout!!!可以是RelativeLayout
anauzrmj2#
设置decorView,会卡顿一下
6xfqseft3#
卡顿?具体什么现象?我这边没有发现卡顿呢
vwoqyblh4#
确实会卡一下, TimePickerView.isDialog(true).build();。点击弹出TimePickerView Dialog的时候会卡顿一下才会弹出来