在我的应用程序中,我想创建一个显示数据的dropDown,但dropDown看起来像一个dropDown,如web中所示,而不是像一个微调器。
答案 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());