我想创建一个进度条,当递增时自动向上滑动。我已经对滑动位进行了排序(使用java),但现在想要创建一个自定义进度条组件。这就是我到目前为止所做的:
public class Smooth_Progress_Bar extends ProgressBar{
public Smooth_Progress_Bar(Context context) {
super(context);
}
}
我正在使用这个XML代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<com.todddavies.content.smoothprogressbar.Smooth_Progress_Bar
android:layout_width="fill_parent"
style="@android:style/Widget.ProgressBar.Horizontal"
android:layout_height="50dp"
android:layout_marginBottom="5dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:progressDrawable="@drawable/pb"/>
</LinearLayout>
我立即关闭力量:/
我强烈怀疑我正在做一些与java位有关的重大错误。我保证给出正确答案!
答案 0 :(得分:2)
我使用您的代码创建了一个项目,使用完全相同的代码(甚至是对象名称“Smooth_Progress_Bar”)。
这一切都编译好了。
所以这就离开了:
您可能需要所有三个构造函数,例如:
public Smooth_Progress_Bar(Context context) {
super(context);
}
public Smooth_Progress_Bar(Context context, AttributeSet attrs) {
super(context, attrs);
}
public Smooth_Progress_Bar(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
或您的问题出在progressDrawable
。如果drawable是xml,则可能包含错误。尝试构造函数,如果这不起作用,请检查您的drawable。