Android ImageView:运行 具有时间间隔的不同 ImageView
Android ImageView: Running Different ImageViews with time intervals
我正在尝试制作一个 activity,其中我有一个 按钮 和 三个图像视图 (imgv1,imgv2,imgv3).单击按钮后,将出现第一个 imagview(imgv1)。 2 秒后,第二个 imageview(img2) 将出现 2 秒,第三个 imageview(imgv3) 将出现 2 秒。
这是我正在使用处理程序的一段代码。
final Button btn = (Button) findViewById(R.id.button);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
img1.setVisibility(View.VISIBLE);
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
img2.setVisibility(View.VISIBLE);
}
}, 2000);
}
});
现在我只能 运行 2 张图片,我不知道如何 运行 第三张图片。
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/image1"
android:visibility="gone"
android:src="@drawable/wh1"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/image2"
android:visibility="gone"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:src="@drawable/wh2" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/image2"
android:visibility="gone"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:src="@drawable/wh2" />
在我的 xml 文件中,我将三个图像视图的可见性设置为消失,因此它们只有在单击按钮时才可见。
如果有人有任何代码示例,请帮助我。我已经在单个 ImageView 更改图像资源中看到很多 post,但这与那个不同,所以请帮助我..
在您的 Activity
中声明 int
name count。然后你可以这样做:
final Button btn = (Button) findViewById(R.id.button);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View v) {
count = 0;
final ImageView[] images = {(ImageView) findViewById(R.id.image1), (ImageView) findViewById(R.id.image2), (ImageView) findViewById(R.id.image3)};
v.postDelayed(new Runnable() {
@Override
public void run() {
images[count].setVisibility(View.VISIBLE);
switch (count){
case 0:
images[1].setVisibility(View.GONE);
images[2].setVisibility(View.GONE);
break;
case 1:
images[0].setVisibility(View.GONE);
images[2].setVisibility(View.GONE);
break;
case 2:
images[0].setVisibility(View.GONE);
images[1].setVisibility(View.GONE);
break;
}
count++;
if (count == 2)
v.removeCallbacks(this);
else
v.postDelayed(this, 2000);
}
}, 2000);
}
});
您可以使用单个 imageView 并使用 setImageResource()
方法或 setImageBitmap()
或 setImageDrawable()
方法更改 imageView 的内容,而不是设置 3 个图像视图的可见性。
我正在尝试制作一个 activity,其中我有一个 按钮 和 三个图像视图 (imgv1,imgv2,imgv3).单击按钮后,将出现第一个 imagview(imgv1)。 2 秒后,第二个 imageview(img2) 将出现 2 秒,第三个 imageview(imgv3) 将出现 2 秒。
这是我正在使用处理程序的一段代码。
final Button btn = (Button) findViewById(R.id.button);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
img1.setVisibility(View.VISIBLE);
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
img2.setVisibility(View.VISIBLE);
}
}, 2000);
}
});
现在我只能 运行 2 张图片,我不知道如何 运行 第三张图片。
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/image1"
android:visibility="gone"
android:src="@drawable/wh1"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/image2"
android:visibility="gone"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:src="@drawable/wh2" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/image2"
android:visibility="gone"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:src="@drawable/wh2" />
在我的 xml 文件中,我将三个图像视图的可见性设置为消失,因此它们只有在单击按钮时才可见。
如果有人有任何代码示例,请帮助我。我已经在单个 ImageView 更改图像资源中看到很多 post,但这与那个不同,所以请帮助我..
在您的 Activity
中声明 int
name count。然后你可以这样做:
final Button btn = (Button) findViewById(R.id.button);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View v) {
count = 0;
final ImageView[] images = {(ImageView) findViewById(R.id.image1), (ImageView) findViewById(R.id.image2), (ImageView) findViewById(R.id.image3)};
v.postDelayed(new Runnable() {
@Override
public void run() {
images[count].setVisibility(View.VISIBLE);
switch (count){
case 0:
images[1].setVisibility(View.GONE);
images[2].setVisibility(View.GONE);
break;
case 1:
images[0].setVisibility(View.GONE);
images[2].setVisibility(View.GONE);
break;
case 2:
images[0].setVisibility(View.GONE);
images[1].setVisibility(View.GONE);
break;
}
count++;
if (count == 2)
v.removeCallbacks(this);
else
v.postDelayed(this, 2000);
}
}, 2000);
}
});
您可以使用单个 imageView 并使用 setImageResource()
方法或 setImageBitmap()
或 setImageDrawable()
方法更改 imageView 的内容,而不是设置 3 个图像视图的可见性。