【问题标题】:Enlarge edittext in android by code when click a button单击按钮时通过代码放大android中的edittext
【发布时间】:2013-03-07 06:41:06
【问题描述】:

我想知道是否可以将 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);

    }

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

【问题讨论】:

  • 所有这些代码都在一个java文件中?请说不。
  • 我似乎没有看到任何 TextView 被添加?您添加的是 EditText 而不是 TextView。还是我错过了什么?
  • 如果您有多个文件。请在此处发布时将其分开。读者无法理解哪个文件中的哪个代码。
  • 如您所知,这些位于 Layouts 文件夹和 src 文件夹中。抱歉,它是 EditText,而不是 TextView,我太累了……如您所知,这是两个独立的文件

标签: java android textview


【解决方案1】:

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

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

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

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

【讨论】:

  • 非常棒!谢谢f20k。无论如何,我添加了一个从右到左移动的修改:Animation scaleAnimation = new ScaleAnimation(0, 1,1,1,Animation.RELATIVE_TO_SELF,1.0f, Animation.RELATIVE_TO_SELF, 0.5f);
【解决方案2】:

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

如果是这样,您无需调整大小 - 在布局文件集 android:layout_width="fill_parent" 中并使用 android:visibility="gone" 使其不可见。

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

【讨论】:

  • 我想他想为它制作动画。
  • drewmore:正如 kcoppock 所说,我想要“动画”或类似的东西。检查此页面中的搜索按钮:fastcodesign.com
猜你喜欢
  • 2015-07-02
  • 2019-05-15
  • 1970-01-01
  • 1970-01-01
  • 2014-12-02
  • 1970-01-01
  • 2012-07-09
  • 2017-09-23
  • 2013-08-07
相关资源
最近更新 更多