我正在尝试在android中创建一些可填充屏幕宽度的可点击图像,但可点击表面的高度与图像本身的高度相匹配。
我有以下代码:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/imageButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/image1"
android:onClick="onClick2" />
</RelativeLayout>
到目前为止发布的答案都没有帮助我,FitXY
没有帮助,因为我想保留宽高比。关于图像按钮或更改比例类型的其他答案,给我完全相同的问题。
答案 0 :(得分:1)
所需的代码是android:adjustViewBounds="true"
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height = "fill_parent" android:layout_width = "fill_parent">
<ImageView
android:layout_width = "wrap_content"
android:adjustViewBounds="true"
android:layout_height = "wrap_content" android:id = "@+id/ImageView1"
android:src = "@drawable/ic_launcher"/>
<ImageView android:layout_width = "wrap_content"
android:layout_height = "wrap_content" android:id = "@+id/ImageView2"
android:src = "@drawable/ic_launcher"
android:adjustViewBounds="true"
android:layout_below = "@+id/ImageView1"/>
</RelativeLayout>
答案 1 :(得分:0)
您忘记将图像视图的宽度设置为match_parent.Also,将relativeLayout设置为android:layout_height =“match_parent”。但最好放一个ImageButton:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageButton
android:id="@+id/imageButton"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/image1"
android:scaleType="centerInside"
android:onClick="onClick2"
android:layout_alignParentTop="true" />
</RelativeLayout>
你可以使用scaleTypes(它也可以在imageView上使用)。在relativeLayout中,您必须设置示例layout_alignParentTop =“true”以将视图设置为顶部。
答案 2 :(得分:0)
在verticalLayout上使用垂直方向
答案 3 :(得分:0)
如果我正确理解您的问题,您可以将图片高度设置为fill_parent
({8}及以上的match_parent
),如下所示。然后图像的高度与其父元素相同。
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/imageButton"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:src="@drawable/image1"
android:onClick="onClick2" />
</RelativeLayout>
答案 4 :(得分:0)
最好将父布局设为LinearLayout,并使用定义的值设置高度,并按照这样做。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:id="@+id/imageButton"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:src="@drawable/image1"/>
</LinearRelativeLayout>
OR
为imageview本身添加权重,但仍然将LinearLayout作为父级。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:id="@+id/imageButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" //This could be like 0.1, 0.7, so long as not 0
android:src="@drawable/image1"/>
</LinearRelativeLayout>
调整重量本身可让您以百分比的方式控制图像。
答案 5 :(得分:0)
将ScaleType
的{{1}}设置为ImageView
或centerCrop
。
fitXY
答案 6 :(得分:0)
请尝试这种方式,希望这有助于您解决问题。
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/imageButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="fitXY"
android:src="@drawable/ic_launcher"
android:onClick="onClick2" />
</RelativeLayout>