「サインイン」というボタンがあります。ユーザーがそれを押すと、ユーザーのログイン情報を取得する警告ダイアログが表示されます。ユーザーが情報を入力して [OK] をクリックすると、ボタンは「ようこそ、[ユーザー名]」を含むのに必要な幅まで伸びます。私がやろうとしているのは、「サインイン」から「ようこそ、[ユーザー名]」へのボタンの幅の変化をアニメーション化することです。
ボタンの背景を 9 パッチで作成しました。これは、xml ファイルで異なる幅を指定すると完全に機能します。デフォルトの幅からより長い幅への幅の変更をアニメーション化しようとすると、9.png ではなく、通常の .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ドキュメントを調べましたが、この問題に対する答えが見つかりません.
どんな助けでも大歓迎です。