我有一个说“登录”的按钮。当用户点击它时,会弹出一个提醒用户登录信息的对话框。一旦用户输入他们的信息并点击确定,按钮将延伸到包含“欢迎,[用户名]”所需的宽度。我想要做的是将按钮宽度的变化从“登录”设置为“欢迎,[用户名]”。Android ScaleAnimation从九个补丁不能正常工作的代码
我已经做了九个补丁的按钮背景,如果我在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文档,但我无法找到这个问题的答案。
任何帮助将不胜感激。
我有同样的问题。我试图在动画之前和之后交换9补丁。这可能不适用于你的情况,但你试过吗? – prodaea