我有纵向模式的活动。在活动内部,我想要想象一个自动适合屏幕宽度的图像(无论尺寸和比例)(想象一下普通的图库应用程序)。 为此,我将 ImageView 放置在 RelativeLayout 中,这样:
<RelativeLayout
android:id="@+id/relLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="0dp"
android:layout_marginBottom="0dp">
<ImageView
android:id="@+id/greatImage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="fitCenter"
android:adjustViewBounds="true"/>
</RelativeLayout>
没关系,但现在我需要将 ImageView 移动一定量的 DP (ex 300dp)以便的底部> ImageView 出现在屏幕外(这是因为稍后我将启动一个动画,将ImageView置于正确的位置)。
如果我为 RelativeLayout 设置 layout_marginTop =&#34; 300dp&#34; , ImageView 将按比例缩小,并且是边界停止匹配父宽度。
我知道我可以将 scaleView 的 scaleType 设置为中心,但这样 ImageView 停止正确缩放以将其尺寸限制在屏幕上。
我找到的唯一解决方案是将 RelativeLayout 包装在 ScrollView 中,并移动相同 ScrollView <的 marginTop / em>的
还有另外一种方法吗? 希望我解释了我的问题,谢谢。
答案 0 :(得分:1)
不要使用“scaleType” - 最好的办法是使用java(除非你需要用XML做这件事 - 这可能意味着更有创意的东西,如果可能的话)。
检查出来:
Android: How to stretch an image to the screen width while maintaining aspect ratio?
答案 1 :(得分:1)
请尝试将layout_marginBottom
设为-300dp
。
这会将您的布局从底部推出屏幕,而不会改变视图的高度。
答案 2 :(得分:1)
如果您还设置layout_marginBottom="-300dp"
并为两个属性设置动画,该怎么办?