Android 在动态相对图像中居中并带有负边距
我试图创建一个布局,其中有一组水平居中的重叠扑克牌。重叠起作用,但卡未居中。如果我在卡片周围画一个边框,那么相对布局似乎包含了如果没有应用负边距将使用的所有区域。然后将整个区域居中 如何确保相对布局的范围仅为包含扑克牌图像视图的区域,以便水平居中放置扑克牌 这是相对论的定义Android 在动态相对图像中居中并带有负边距,android,alignment,Android,Alignment,我试图创建一个布局,其中有一组水平居中的重叠扑克牌。重叠起作用,但卡未居中。如果我在卡片周围画一个边框,那么相对布局似乎包含了如果没有应用负边距将使用的所有区域。然后将整个区域居中 如何确保相对布局的范围仅为包含扑克牌图像视图的区域,以便水平居中放置扑克牌 这是相对论的定义 <RelativeLayout android:id="@+id/tNorth" android:layout_width="wrap_content" androi
<RelativeLayout
android:id="@+id/tNorth"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:layout_above="@+id/vCardTable"
android:layout_centerHorizontal="true"
android:layout_marginLeft="10dp"
android:layout_marginTop="15sp"
android:background="@drawable/losing_border"
android:layout_marginBottom="15sp" >
</RelativeLayout>
您可以在带有填充的图片中设置边框的ImageResource和ImageBackground,如下所示:
<ImageView
android:id="@+id/mImageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/app_name"
android:padding="4dp"
android:scaleType="fitCenter"
android:background="@drawable/yourImageInCenter"
android:src="@drawable/yourBorderForImage" />
我通过设置ImageView的宽度和高度来解决这个问题
final int hPixels = (int) (100 * scale + 0.5f);
final int wPixels = (int) (70 * scale + 0.5f);
final RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(wPixels, hPixels);
设置好后,布局正确,我还可以删除setAdjustViewBounds谢谢Rahil,我尝试过,但没有成功。扑克牌ImageView已将AdjustViewBounds设置为true,因为在缩放图像时我遇到问题,不确定这是否会导致问题。
params.setGravity(Gravity.CENTER);
final int hPixels = (int) (100 * scale + 0.5f);
final int wPixels = (int) (70 * scale + 0.5f);
final RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(wPixels, hPixels);