- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个显示“登录”的按钮。当用户点击它时,它会弹出一个警告对话框,其中包含用户登录信息。一旦用户输入他们的信息并点击确定,按钮就会拉伸(stretch)到包含“欢迎,[用户名]”所需的宽度。我想要做的是将按钮的宽度从“登录”更改为“欢迎,[用户名]”。
我用 9-patch 制作了按钮背景,如果我在 xml 文件中指定不同的宽度,它会完美地工作。当我尝试将宽度从默认宽度更改为更长的宽度时,它只是像普通 .png 而不是 9.png 一样拉伸(stretch)。
这是我用来从一个静态宽度拉伸(stretch)到另一个静态宽度的代码:
<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 文档,但我就是找不到这个问题的答案。
如有任何帮助,我们将不胜感激。
最佳答案
当 Android 在 View 上执行动画处理时,它会为当前 View 的 Bitmap 表示而不是实际 View 设置动画。动画 View 需要处理 View 周围的组件,并且成本会高得多。虽然这通常是有益的,但在您的情况下,它会将 9patch 变成任何旧位图,因此不会给您想要的结果。
我不知道有什么方法可以只转换 View 的特定区域,这里有一个专门针对这个问题的问题:Stretch/Scale a Specific Region of View/Bitmap
关于来自带有 9-patch 的代码的 Android ScaleAnimation 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13200975/
我正在使用 ScaleAnimation。我想将我的商品尺寸扩大一倍,这很简单: ScaleAnimation setSizeForTop = new ScaleAnimation(1, 2, 1,
所以下面的动画按预期工作: Animation scaleUp = new ScaleAnimation(0, 1, 0, 1, Animation.RELATIVE_TO_SELF, 0.5f, A
我的自定义 ScaleAnimation 似乎忽略了它的枢轴点。这是我的 super 电话: super(1.0f, widthFactor, 1.0f, heightFactor, pivotX,
我的布局结构如下: LinearLayout1 LinearLayout2 EditText 我正在使用 LayoutAnimationController 将 ScaleAnimation 应用于
这是我的自定义 ScaleAnimation: public class MyScaler extends ScaleAnimation { private static final Stri
关闭。我是自己用Timer做的,在看了书之后重写了draw方法。 最佳答案 不要调用 animation.startAnimation(animation)。只需调用 startAnimation(a
我想要垂直缩放 ImageView,等待,然后在同一个 ImageView 上执行另一个缩放。我简化了下面的代码,但这本质上是我想要做的: ScaleAnimation animate = new S
我有一个自定义 View ,我在其中实现了 onDraw,它成功地绘制了背景以及右上角的小叠加图像。我通过以下操作手动为覆盖图像(带有 ScaleAnimation 和 Rotate Animatio
我有一个问题: 我在我的项目中实现了拖放功能,其中一些图标模拟了 android 2.2 的拖放操作。 因此,当您单击图标一秒钟时,您可以开始移动手指并将图标插入屏幕的任何部分。 android 2.
我在 ImageView 中一个接一个地应用三个动画。我为每个动画都有一个 AnimationListener,所以在 onAnimationEnd 中,我开始下一个,所以它们不会重叠。动画是这样的:
我们正在使用 TouchImageView 并希望实现 onDoubleTap 缩放 ...到目前为止一切顺利。 问题是: 如果我们应用缩放动画并设置setFillAfter(false),在Anim
我正在尝试使用 ScaleAnimation 从 View 的中心向右和向左缩放 View 。无论我为 pivotX 和 PivotY 设置什么值,它总是以相同的方式缩放(就像右边缘似乎在缩放保持左边
我有一个显示“登录”的按钮。当用户点击它时,它会弹出一个警告对话框,其中包含用户登录信息。一旦用户输入他们的信息并点击确定,按钮就会拉伸(stretch)到包含“欢迎,[用户名]”所需的宽度。我想要做
我正在尝试将缩放动画应用到矩形,使用代码而不是 xml。我想让矩形变高,很简单。 RectDrawableView - 创建一个 RectShape ShapeDrawable public clas
这听起来可能很愚蠢,但我无法在任何地方找到如何指定 ScaleTAnimation 的 pivotXType 和 pivotYType。 我知道如何以编程方式进行,但我需要通过 XML 指定它(我需要
我是一名优秀的程序员,十分优秀!