1

我想知道是否可以将 android 中的 EditText 从 0 放大到填充其父级。我尝试了几件事,但目前我有 LinearLayout 并且 EditText 是通过代码添加的:

    <LinearLayout
        android:id="@+id/ll_buscarenlace"
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        android:layout_weight="0.8"
        android:gravity="right" >

-

EditText et = (EditText) new EditText(this.act);
LinearLayout ll = (LinearLayout) this.act.findViewById(R.id.ll_buscarenlace);

    et.setWidth(0);
    ll.addView(et);

    for (int i=0; i<=ll.getWidth(); i++){
        et.setWidth(i);
        Thread.sleep(50);

    }

但这是我尝试做的许多事情之一。提前致谢

4

2 回答 2

0

通过“使其从零变为填充父级”,您的意思是您希望它最初是不可见的,然后在单击按钮时变得可见?

如果是这样,您不需要在布局文件集中进行任何调整大小android:layout_width="fill_parent"并使用android:visibility="gone".

然后,在按钮上的 onClickListener 中,您可以调用et.setVisible(Visibility.VISIBLE).

于 2013-03-06T21:30:07.960 回答
0

一个可能的解决方案:ScaleAnimation。

EditText editText = (EditText) findViewById(R.id.editText1);

Animation scaleAnimation = new ScaleAnimation(0, 1, 1, 1);
scaleAnimation.setDuration(750);
editText.startAnimation(scaleAnimation);

不完全是您正在寻找的东西,因为它可以扩展而不是扩展,但它可能会有所帮助。效果也不错。

于 2013-03-06T22:41:06.830 回答