缩放ViewGroup,使其在底部对齐

时间:2014-03-03 09:50:30

标签: android animation

我想缩放一个ViewGroup,但保持它在底部对齐,这是不是很有可能?

如果我使用ViewPropertyAnimator缩放视图,视图的缩放方式会占用大量的空白"在ViewGroup下面生成。

<RelativeLayout
    android:id="@+id/content"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <fragment
        android:id="@+id/MessagesView_ListFragment"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:scrollbars="none"
        android:paddingLeft="@dimen/paddingLeft"
        android:paddingRight="@dimen/paddingRight"
        android:layout_alignParentBottom="true"
        />

    <com.customwidget.ScrollBar
        android:id="@+id/InboxView_ScrollBar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        />


</RelativeLayout>

像这样缩放:

    findViewById(R.id.content).animate().scaleX(0.75f).scaleY(0.75f).setDuration(750).start();

1 个答案:

答案 0 :(得分:4)

我相信像这样扩展您的代码就足够了:

View v = findViewById(R.id.content);
v.animate()
.scaleX(0.75f)
.scaleY(0.75f) 
.translateY(v.getHeight() / 4) // Translates by 1/4 of the view's height to compensate the scale
.setDuration(750)
.start();

其他一些解决方法是设置View的轴心点,如下所示:

View v = findViewById(R.id.content);
v.setPivotY(v.getHeight()); // Can be set in an xml file using android:transformPivotY
// Use your original code here.