我有一个显示“登录”的按钮。当用户点击它时,它会弹出一个警告对话框,其中包含用户登录信息。一旦用户输入他们的信息并点击 OK,按钮就会伸展到包含“欢迎,[用户名]”所需的宽度。我想要做的是将按钮宽度从“登录”更改为“欢迎,[用户名]”的动画。
我用九个补丁制作了按钮背景,如果我在 xml 文件中指定不同的宽度,它可以完美地工作。当我尝试将宽度从默认宽度更改为更长的宽度时,它只会像普通的 .png 而不是 9.png 一样拉伸。
这是我用来从一个静态宽度拉伸到另一个静态宽度的代码:
<Button
android:id="@+id/signIn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:background="@drawable/button_nine_patch"
android:textSize="20dip"
android:layout_marginBottom="-2dip" />
和
ScaleAnimation stretch = new ScaleAnimation(1.0f ,10.0f, 1.0f, 1.0f);
this.signIn = (Button) this.findViewById(R.id.signIn);
this.signIn.setOnClickListener(this);
stretch.setDuration(2000);
signIn.startAnimation(stretch);
因为我不知道一个人的名字有多少个字母,所以我需要能够从代码中设置按钮的最终宽度。
我疯狂地用谷歌搜索并浏览了所有的android文档,但我找不到这个问题的答案。
任何帮助将非常感激。