我一直在尝试创建一个自定义视图,用于指示专有设备的电池电量。
因此,当读取设备的电池电量时,会setPercentage(int batteryLevel)
在自定义视图上调用该方法:
问题是,无论我设置什么值,自定义视图似乎都没有改变。
这是课程:
public class RectangleView extends LinearLayout {
private ArrayList<ImageView> views = new ArrayList<ImageView>();
public RectangleView(Context context, AttributeSet attributeSet) {
super(context, attributeSet);
init(context);
}
public RectangleView(Context context) {
super(context);
init(context);
}
private void init(Context context) {
this.setOrientation(LinearLayout.HORIZONTAL);
for (int i = 0; i < 10; i++) {
ImageView loadingPiece = new ImageView(context);
loadingPiece.setBackgroundColor(Color.BLACK);
this.addView(loadingPiece);
LayoutParams layoutParams = (LayoutParams)loadingPiece.getLayoutParams();
layoutParams.weight = 1.0f;
layoutParams.height = this.getHeight();
layoutParams.width = 0;
loadingPiece.setLayoutParams(layoutParams);
views.add(loadingPiece);
}
}
public void setPercentage(int amountToShow) {
for (int i = 0; i < views.size(); i++)
if (i < amountToShow)
views.get(i).setVisibility(View.VISIBLE);
else
views.get(i).setVisibility(View.INVISIBLE);
}
}
校准 setPersentage(5) 应该显示 5 个图像视图 - 但是没有任何改变,视图本身似乎是空的。