我在相对布局上设置了一个缩放的图像。但是,设置图像时,将破坏布局对齐规则。图像应该与左侧对齐,但是会移动。图像越大,图像放置的左手边缘越远。其他布局项目(如依赖于图像放置的文本)也会移动。除了放置之外,缩放图像看起来很好。
图像为200px,条形高度的实际大小为70dp。我可以调整图像的大小但是想知道为什么会发生这种情况。
编辑 - 我还尝试动态设置图像image.setImageResource(R.drawable.placeholder);
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:background="@drawable/footer"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<ImageView
android:id="@id/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/placeholder"
android:layout_alignParentLeft="true"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="test"
android:layout_marginLeft="15dp"
android:layout_toRightOf="@id/icon"
android:layout_above="@id/username"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@id/username"
android:text="user name test"
android:layout_marginBottom="15dp"
android:layout_marginLeft="15dp"
android:layout_toRightOf="@id/icon"
android:layout_alignParentBottom="true"/>
<ToggleButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/play_media_btn_toggle"
android:layout_marginTop="15dp"
android:id="@id/play"
android:layout_alignParentRight="true"
android:textOn=""
android:textOff=""/>
</RelativeLayout>
答案 0 :(得分:0)
如果您动态设置图像,当您的图像调整大小时,您的支架未设置为适合图像,因此您在一侧(宽度或高度)有一些奇怪的不成比例的间隙。您需要动态执行此操作,以避免任何间隙。
编辑:这是一个例子,我如何缩放图像(以适应宽度),然后将其设置为持有人并相应调整持有人的大小,这样我控制持有人的宽度和图像和ImageView(持有人)比例类型是中心float scaleFactor = (float)rssLayout.getWidth() / (float)bitmap.getWidth();
bitmap = Bitmap.createScaledBitmap(bitmap, (int)(bitmap.getWidth() * scaleFactor), (int)(bitmap.getHeight() * scaleFactor), true);
bannerImage.setImageBitmap(bitmap);
LayoutParams params = (LayoutParams) bannerImage.getLayoutParams();
params.width = bitmap.getWidth();
params.height = bitmap.getHeight();
bannerImage.setLayoutParams(params);
希望这有助于并享受您的工作
答案 1 :(得分:0)
将adjustViewBounds
的{{1}}设置为ImageView
可能会解决您的问题。默认情况下,true
在缩放内容时不会缩放边界,从而创建混乱的布局。