private void getTime(){
mTimePicker.setDescendantFocusability(TimePicker.FOCUS_BLOCK_DESCENDANTS); //设置点击事件不弹键盘
Resources resources = Resources.getSystem();
int hour = resources.getIdentifier("hour", "id", "android");
int min = resources.getIdentifier("minute", "id", "android");
NumberPicker mHourNumberPicker = (NumberPicker)mTimePicker.findViewById(hour);
NumberPicker mMinNumberPicker = (NumberPicker)mTimePicker.findViewById(min);
mHourNumberPicker.setBackgroundColor(getResources().getColor(R.color.color)); //设置时间条的背景颜色为透明
mMinNumberPicker.setBackgroundColor(getResources().getColor(R.color.color));
}
设置分割线的:
private void setNumberPickerDivider(NumberPicker numberPicker) {
NumberPicker picker = numberPicker;
Field[] pickerFields = NumberPicker.class.getDeclaredFields();
for (Field pf : pickerFields) {
if (pf.getName().equals("mSelectionDivider")) { //设置颜色
pf.setAccessible(true);
ColorDrawable colorDrawable = new ColorDrawable(
ContextCompat.getColor(this, R.color.colorAccent)); //选择自己喜欢的颜色
try {
pf.set(numberPicker, colorDrawable);
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
if (pf.getName().equals("mSelectionDividerHeight")) { //设置高度
pf.setAccessible(true);
try {
int result = 3; //要设置的高度
pf.set(picker, result);
} catch (Exception e) {
e.printStackTrace();
}
break;
}
picker.invalidate();
}
}
隐藏冒号:
private void setTime(){
ViewGroup view = (ViewGroup) mTimePicker.getChildAt(0);//获取子view(TimePicker)
ViewGroup view2 = (ViewGroup) view.getChildAt(0);//获取TimePicker的第0的子view 时间部分
view2.getChildAt(1).setVisibility(View.GONE);
}
完整代码:
import android.content.res.Resources;
import android.graphics.drawable.ColorDrawable;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.NumberPicker;
import android.widget.TimePicker;
import java.lang.reflect.Field;
public class MainActivity extends AppCompatActivity {
private TimePicker mTimePicker;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTimePicker = (TimePicker)findViewById(R.id.lala);
mTimePicker.setDescendantFocusability(TimePicker.FOCUS_BLOCK_DESCENDANTS); //设置点击事件不弹键盘
getTime();
setTime();
}
private void getTime(){
Resources resources = Resources.getSystem();
int hour = resources.getIdentifier("hour", "id", "android");
int min = resources.getIdentifier("minute", "id", "android");
NumberPicker mHourNumberPicker = (NumberPicker)mTimePicker.findViewById(hour);
NumberPicker mMinNumberPicker = (NumberPicker)mTimePicker.findViewById(min);
mHourNumberPicker.setBackgroundColor(getResources().getColor(R.color.color)); //设置时间条的背景颜色为透明
mMinNumberPicker.setBackgroundColor(getResources().getColor(R.color.color));
setNumberPickerDivider(mHourNumberPicker);
}
private void setTime(){
ViewGroup view = (ViewGroup) mTimePicker.getChildAt(0);
ViewGroup view2 = (ViewGroup) view.getChildAt(0);
view2.getChildAt(1).setVisibility(View.GONE);
}
private void setNumberPickerDivider(NumberPicker numberPicker) {
NumberPicker picker = numberPicker;
Field[] pickerFields = NumberPicker.class.getDeclaredFields();
for (Field pf : pickerFields) {
if (pf.getName().equals("mSelectionDivider")) { //设置颜色
pf.setAccessible(true);
ColorDrawable colorDrawable = new ColorDrawable(
ContextCompat.getColor(this, R.color.colorAccent)); //选择自己喜欢的颜色
try {
pf.set(numberPicker, colorDrawable);
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
if (pf.getName().equals("mSelectionDividerHeight")) { //设置高度
pf.setAccessible(true);
try {
int result = 3; //要设置的高度
pf.set(picker, result);
} catch (Exception e) {
e.printStackTrace();
}
break;
}
picker.invalidate();
}
}
}