我已经成功使用复合组件一段时间了。我遇到了一个小问题,想知道是否有一个快速的解决方案:
我需要一个自定义搜索栏,我已经将它作为一种风格/主题,它是一个非常精致的,所以我宁愿不通过代码复制它。所有搜索栏都是以编程方式作为更复杂块的一部分创建的,并且不能更改它。
有没有办法只使用 Seekbar 创建一个 XML 并应用这种样式,将这个 xml“膨胀”成一个仅扩展 Seekbar 的复合类?
膨胀函数只接受视图组,但它们的“replaceroot”版本也可以很好地用于普通视图,这正是我所需要的。
提前致谢
public class SeekBarYellow extends SeekBar {
public SeekBarYellow(Context context) {
super(context);
construct_programmatically(context);
}
private void construct_inflating(Context context) {
// how do I inflate a <SeekBar android:style=xxxx android ...>
// into here? (R.layout.seekbar_yellow)
}
// i'd like to avoid this, by inflating R.layout.seekbar_yellow
private void construct_programmatically(Context context) {
Resources r=context.getResources();
this.setThumb(r.getDrawable(R.drawable.scrubber_control_selector_holo_dark));
this.setProgressDrawable(r.getDrawable(R.drawable.scrubber_progress_horizontal_holo_dark));
this.setIndeterminateDrawable(r.getDrawable(R.drawable.scrubber_progress_horizontal_holo_dark));
this.setMinimumHeight(13);
this.setMinimumWidth(13);
this.setThumbOffset(16);
this.setPadding(16,0,16,0);
}
}