在android中创建一个下拉列表而不是微调器

时间:2012-07-10 10:07:13

标签: android

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

2 个答案:

答案 0 :(得分:4)

我已经在github上创建了一个下拉式演示项目,以帮助解决这个问题。我的想法是缺少视图/小部件。

它基于用于显示当前所选替代选项的文本视图(标题),以及包含替代选项的线性布局。单击标题时,我会在线性布局中使用替代选项进行动画处理,并且一旦选择了alt,线性布局就会被动画化。

该项目可在此处找到:

https://github.com/erbsman/DropDownDemo

希望这有助于:)

答案 1 :(得分: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());