我有一张图片(image1.png)
当我点击某个按钮时,我想让这个图像在屏幕中间显示一秒钟然后消失。我该怎么办?
我猜它会给我带来屏幕的中心坐标。
public void onClick(View button) {
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics( dm );
int screenMiddlePointWidth = dm.widthPixels / 2;
int screenMiddlePointHeight = dm.heightPixels / 2;
}
P.S。我不希望图像在屏幕上推送其他视图,因此我无法将其设置为不可见\已消失
答案 0 :(得分:1)
您可以在xml中使用此代码将图像置于中心
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.myapplication.MainActivity"
tools:showIn="@layout/activity_main">
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/image1"
android:layout_centerInParent="true"/>
</RelativeLayout>
然后在java文件中使用以下代码
ImageView img;
img=(ImageView)findViewById(R.id.imgview);
CountDownTimer timer = new CountDownTimer(1000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
}
@Override
public void onFinish() {
img.setVisibility(View.GONE);
}
};
timer.start();
您可以在onCreate方法或任何您想要的地方使用计时器代码。
如果要以编程方式居中显示图像,请使用以下代码。
image.setBackgroundResource(R.drawable.image1);
LayoutParams params = (LayoutParams) image.getLayoutParams();
params.gravity = Gravity.CENTER;
img.setLayoutParams(params);