Android 自定义时间选择器以减小其大小

Android 自定义时间选择器以减小其大小,android,resize,size,timepicker,Android,Resize,Size,Timepicker,我想做的就是减小默认时间选择器的大小,但是我没有成功。因此,我创建了一个自定义时间选择器,即我有一个从TimePicker派生的类(称为TimePickerCustom)和一个XML文件,该文件的内容与原始时间选择器完全相同(除了我计划减小NumberPicker的大小) 我需要在TimePickerCustom中定义一个将AttributeSet作为参数的构造函数,以便正确膨胀XML,当然,我需要在这里为此调用父类的构造函数。问题是,这些构造函数膨胀了原始的TimePicker xml,所以我

我想做的就是减小默认时间选择器的大小,但是我没有成功。因此,我创建了一个自定义时间选择器,即我有一个从TimePicker派生的类(称为TimePickerCustom)和一个XML文件,该文件的内容与原始时间选择器完全相同(除了我计划减小NumberPicker的大小)

我需要在TimePickerCustom中定义一个将AttributeSet作为参数的构造函数,以便正确膨胀XML,当然,我需要在这里为此调用父类的构造函数。问题是,这些构造函数膨胀了原始的TimePicker xml,所以我仍然看到默认的TimePicker小部件


我应该如何设置它,以便只能看到我的自定义计时器小部件?或者有没有其他方法可以简单地减小默认时间选择器的大小?

您可以通过调用非膨胀父构造函数来覆盖父级的布局膨胀。例如:

public TimePickerCustom(Context context, AttributeSet attrs, int defStyle) {
    super(context);
    // custom layout // getLayoutInflater().inflate(...
}

我试过了,但是在父类膨胀的构造函数ie TimePicker(上下文、属性集、int)中发生了大量初始化操作。我可以从这里复制和粘贴我需要的东西,但是它在这里访问的成员是私有的,所以我的子类没有访问权限。啊,欢迎来到俱乐部。您可能需要全力以赴,从TimePicker的源代码开始,而不是将其子类化。即使这样,您仍然无法从其他超类访问某些成员。例如,我调整了ScrollView代码,不得不用getScrollY()替换mScrollY的用法。哦,太糟糕了!你说得对,我似乎无法访问所有内容,例如,TimePicker使用NumberPicker,但我似乎无法访问此内容。好的,谢谢你的帮助!