[英]Java: How to overdraw existing drawable in ImageView with another drawable?
I have Activity where I have text view which looks like this: 1/9 (holeCounter/holeNm). 我在“活动”中有如下所示的文本视图:1/9(holeCounter / holeNm)。 I have 2 image views which manipulate holeCounter (add or reduce the number) in ImageView, arrow left image represents reducing and arrow right represent adding the number. 我有2个在ImageView中操纵holeCounter(添加或减少数量)的图像视图,左箭头图像表示减少,右箭头图像表示增加数字。 Now when my holeCounter == holeNm (9/9) this arrow right image should turn into another image. 现在,当我的HoleCounter == holeNm(9/9)时,此向右箭头图像应变成另一张图像。
note: Those arrow images are created in that Activitys XML file like: 注意:这些箭头图像是在“活动” XML文件中创建的,例如:
android:background="@drawable/ic_arrow_left"
android:background="@drawable/ic_arrow_right"
What I have right now: 我现在所拥有的:
private void setButtons() {
mBackArrow = findViewById(R.id.previous);
mForwardArrow = findViewById(R.id.next);
mBackArrow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (holeCounter > 1) {
Intent intent = getIntent();
mHoleNm = findViewById(R.id.gameHoleNumber);
holeCounter--;
mHoleNm.setText(holeCounter + "/" + intent.getStringExtra("HOLESNM"));
}
}
});
mForwardArrow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = getIntent();
int holesNm = Integer.parseInt(intent.getStringExtra("HOLESNM"));
if (holeCounter == (holesNm - 1)) {
mForwardArrow.setImageResource(R.drawable.ic_finish);
}
if (holeCounter < holesNm) {
mHoleNm = findViewById(R.id.gameHoleNumber);
holeCounter++;
mHoleNm.setText(holeCounter + "/" + intent.getStringExtra("HOLESNM"));
}
}
});
}
Now it adds the new drawable on top of that arrow right, but ofc I want that arrow right to disappear underneath that new image. 现在,它在该右箭头上方添加了新的drawable,但是我希望该右箭头在该新图像下方消失。 Also after that, if the user click left arrow and now holeCounter != holeNm that other image should turn back to Arrow right image. 同样在此之后,如果用户单击左箭头,现在单击holeCounter!= holeNm,则其他图像应返回到右箭头图像。
You should had to use android:src
instead android:background
. 您应该使用android:src
而不是android:background
。 replace below lines of code 替换下面的代码行
android:background="@drawable/ic_arrow_left"
android:background="@drawable/ic_arrow_right"
TO 至
android:src="@drawable/ic_arrow_left"
android:src="@drawable/ic_arrow_right"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.