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 に答える