0

私がやりたいのは、デフォルトの TimePicker のサイズを小さくすることだけですが、これではうまくいきませんでした。つまり、TimePicker から派生したクラス (TimePickerCustom と呼びます) と、元の TimePicker とまったく同じ内容の XML ファイルがあります (ただし、NumberPicker のサイズを小さくする予定です)。

XML を適切にインフレートするために、TimePickerCustom のパラメーターとして AttributeSet を持つコンストラクターの 1 つを定義する必要があります。もちろん、ここで親クラスのコンストラクターを呼び出す必要があります。問題は、これらのコンストラクターが元の TimePicker xml を膨張させるため、デフォルトの TimePicker ウィジェットがまだ表示されていることです!

カスタム TimePicker ウィジェットのみを表示するには、どのように設定すればよいですか? または、デフォルトの TimePicker のサイズを単純に縮小する別の方法はありますか?

4

1 に答える 1

0

非膨張親コンストラクターを呼び出すことで、親のレイアウト インフレーションをオーバーライドできます。例えば:

public TimePickerCustom(Context context, AttributeSet attrs, int defStyle) {
    super(context);
    // custom layout // getLayoutInflater().inflate(...
}
于 2011-07-20T17:19:02.210 に答える