gpt4 book ai didi

java - 屏幕中央的方形 ImageView

转载 作者:行者123 更新时间:2023-12-01 11:05:16 24 4
gpt4 key购买 nike

我想将 ImageView 放置在屏幕中央,并将 ImageView 的宽度和高度设置为屏幕的宽度。

我尝试了这个,但是ImageView的宽度不等于屏幕的宽度,并且ImageView位于左上角:

        DisplayMetrics displayMetrics = getApplicationContext().getResources().getDisplayMetrics();
float dpWidth = displayMetrics.widthPixels / displayMetrics.density;

RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams((int)dpWidth, (int)dpWidth);
imageView.setLayoutParams(layoutParams);

在 xml 中 ImageView 位于屏幕中央:

    <ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:id="@+id/imageView"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />

最佳答案

在Java代码中,setLayoutParams会覆盖您在xml中定义的布局规则(以layout_开头的参数)。您需要添加规则以保持图像居中。此外,LayoutParams 将采用“像素”而不是“dp”中的整数。

所以试试这个 -

DisplayMetrics displayMetrics = getApplicationContext().getResources().getDisplayMetrics();
float dpWidth = displayMetrics.widthPixels;

RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams((int)dpWidth, (int)dpWidth);
layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT);
imageView.setLayoutParams(layoutParams);

此外,您可能想使用scaleType来让图像填充空间。请在此处查看可用的scaleType。 http://developer.android.com/reference/android/widget/ImageView.ScaleType.html

关于java - 屏幕中央的方形 ImageView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33027784/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com