2

在我的应用程序中,我想创建一个显示数据的下拉菜单,但下拉菜单看起来像 web 中所示的下拉菜单,而不是微调器。

4

2 回答 2

4

我在 github 上创建了一个下拉演示项目来帮助解决这个问题,我很想念视图/小部件。

它基于用于显示当前选择的备选方案的文本视图(标题)和包含备选方案的线性布局。当点击标题时,我会在线性布局中使用备选方案进行动画处理,一旦选择了 alt,线性布局就会被动画化。

该项目可以在这里找到:

https://github.com/erbsman/DropDownDemo

希望这可以帮助 :)

于 2012-11-11T14:19:02.890 回答
0

你可以像这样创建一个动画类

public class DropDownAnimation extends Animation {
    public int height, width;

    @Override
    public void initialize(int width, int height, int parentWidth,
            int parentHeight) {
        // TODO Auto-generated method stub
        super.initialize(width, height, parentWidth, parentHeight);
        this.width = width;
        this.height = height;
        setDuration(500);
        setFillAfter(true);
        setInterpolator(new LinearInterpolator());
    }

    Camera camera = new Camera();

    @Override
    protected void applyTransformation(float interpolatedTime, Transformation t) {
        // TODO Auto-generated method stub
        super.applyTransformation(interpolatedTime, t);

        Matrix matrix = t.getMatrix();
        camera.save();

        camera.getMatrix(matrix);
        matrix.setTranslate(0, (height * interpolatedTime));

        matrix.preTranslate(0, -height);
        camera.restore();

        this.setAnimationListener(this);
    }

并像这样使用它:

    LinearLayout ll = (LinearLayout) findViewById(R.id.parentLayout);
    ll.startAnimation(new DropDownAnimation());
于 2012-07-10T10:21:42.030 回答