【发布时间】:2013-10-18 20:54:04
【问题描述】:
我有RelativeLayout,里面有3 个Relative Relayouts。二级相对布局具有已下载的 imageView,并且可能具有不同的大小(高度、宽度)。我想检查 imageView 是否适合我的布局。
我的二级相对布局如下所示:
<RelativeLayout
android:id="@+id/tv_show_image_layout"
android:layout_width="400dp"
android:layout_height="200dp">
<ImageView
android:id="@+id/tvshow_imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="matrix"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:src="@drawable/dummy" />
</RelativeLayout>
1) 如果图片太小,我需要缩放他以适应布局高度
2) 如果图片和布局大小一样,就可以了。
3) 如果图片太大,需要添加动画慢慢上下移动
对于移动动画,我使用此代码,它工作正常(如果我输入硬编码值):
TranslateAnimation animation = new TranslateAnimation(0.0f, 0.0f,
-20.0f, 120.0f); // new TranslateAnimation(xFrom,xTo, yFrom,yTo)
animation.setDuration(9000); // animation duration
animation.setRepeatCount(15); // animation repeat count
animation.setRepeatMode(2); // repeat animation (left to right, right to left )
//animation.setFillAfter(true);
show_image.startAnimation(animation); // start animation
但主要问题是我无法获得正确的图像高度值来设置动画移动范围。
我应该如何让它开始仅在 imageView 范围内向上/向下移动的动画?
【问题讨论】:
-
I've got RelativeLayout, that has 3 Relative Relayouts inside...不要 -
为什么?我有滑动菜单,所以它有 3 个必须单独对齐的组件。而且我认为没有问题。
-
我知道你的想法。 ImageView 然后将是正确的大小(已下载),但是我的滑动菜单栏组件的大小将不同(因为我需要)。所以这不是一个解决方案:/
-
由于 RelativeLayouts 的布局方式,嵌套 RelativeLayouts 会导致大量重新布局,这可能不是最有效的方式。
-
好吧。我可以将内部的布局更改为可以使图像居中的任何类型的布局。所以里面可能是LinearLayout,如果对解决问题有帮助
标签: android android-layout scale android-imageview