Android自定义进度条组件

时间:2011-06-14 20:26:01

标签: java android xml

我想创建一个进度条,当递增时自动向上滑动。我已经对滑动位进行了排序(使用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位有关的重大错误。我保证给出正确答案!

1 个答案:

答案 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。