2

当用户单击 ListView 中的项目时,我正在尝试将视图(ListView)缩放到特定大小。ListView 的“原始”(开始)状态设置为

layout_width="match_parent"

如果您愿意,ListView 显然是一个矩形。我不知道如何缩小 ListView 并将矩形的左侧(即 ListView)“锚定”到屏幕/父活动的左侧。我想要发生的只是 ListView 的右侧从屏幕/父级的右侧滑入。y 轴不能缩放或改变,只有 ListView 的右侧。如果这还不够清楚,我深表歉意。下面是用户单击时 ListView 的开始状态和结束状态的粗略图片。

一只忙碌的猫 http://dc589.2shared.com/download/mdK_EobN/listviewanimationjpeg.jpg?tsid=20130313-093629-3c816601

我很感激任何帮助,谢谢。

4

2 回答 2

1

如果您确定始终首先拥有展开的视图,那么您可以执行以下操作:

  1. 首先像您当前一样使用 match_parent,以确保它占用其父容器的所有水平空间。

  2. 覆盖onWindowFocusChanged您的活动以获得最大所需宽度

    @Override
    public void onWindowFocusChanged (boolean hasFocus) {
        // myComponentToBeResized.getMeasuredWidth(); 
    }
    
  3. 存储该值的 50%,因此,您拥有完全展开和部分展开的视图的宽度。

  4. 更新您的视图以使用像素(或倾角)作为宽度,而不是 match_parent 关键字。现在,您可以在两个值之间进行动画处理,如您所见:)

于 2013-03-13T09:55:10.153 回答
0

您可以尝试relativeLayout在此布局中使用您的添加ListViewandroid:alignParentLeft="true"然后尝试在 listView 上使用缩放动画。通过添加这些属性,您将像固定在左侧一样。希望它有效。android:alignParentTop="true"ListViewlistView

于 2013-03-13T09:43:44.757 回答