动态更改按钮的 X 和 Y 位置/更改按钮的边距

发布于 2024-09-25 05:40:18 字数 231 浏览 6 评论 0 原文

我想更改 d applcn 中按钮的边距... 假设我有 5 个这样的线性布局按钮,一个在另一个下面...

当我专注于一个按钮时,它的宽度应该增加(我知道如何处理),同时,宽度应该向两者线性增加左右。

即如果按钮的当前宽度为 250,x 坐标为 50(这意味着按钮的左侧为 50,按钮的右侧为 300),当我聚焦于按钮时,我应该得到 x 坐标为 75(左侧 = 25)右 = 325)。如何更改按钮的边距/x 坐标?

I would like to change margin of my buttons in d applcn...
suppose I have 5 buttons like this in a linear layout, one below d other...

When I focus on a button, its width should increase (which I know how to handle) and at the same time, width should increase linearly towards both left and right.

i.e. If the current width of the button is 250 with x co-ordinate as 50 (that means button's left is 50 and button's right is 300), when I focus on the button I should get x co-ordinate as 75 (left = 25 and right = 325). How to change the margin/x co-ordinate of the button?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夜夜流光相皎洁 2024-10-02 05:40:18

查看 Animation 和 ScaleAnimation 类="nofollow">http://developer.android.com/reference/android/view/animation/Animation.htmlhttp://developer.android.com/reference/android/view/animation/ScaleAnimation.html

一种方法是在 res/anim 目录中定义两个 XML 文件,一个使按钮变大,另一个使按钮变小。因此,对于 makeLarger.xml

<scale xmlns:android="http://schemas.android.com/apk/res/android" 
android:interpolator="@android:anim/accelerate_decelerate_interpolator" 
android:fromXScale="1" 
android:toXScale="1.1" 
android:pivotX="50%" 
android:pivotY="50%" 
android:duration="200" 
android:fillAfter="true" />

此处,您将宽度增加 10%,从 1.0 增加到 1.1。对于 makeSmaller.xml 文件,交换 android:fromXScaleandroid:toXScale 的值,或者根据需要设置它们。要将动画应用到按钮,

Button myButton = (Button)findViewById(R.id.myButton);
myButton.setAnimation(AnimationUtils.loadAnimation(this, R.anim.makeLarger));

当然,当您触摸按钮时应该设置 makeLarger 和 makeSmaller 动画。

我希望这有帮助!

Check out the Animation and ScaleAnimation classes at http://developer.android.com/reference/android/view/animation/Animation.html and http://developer.android.com/reference/android/view/animation/ScaleAnimation.html.

One way to do it is to define two XML files in your res/anim directory, one to make the button larger, and the other to make it smaller. So for makeLarger.xml

<scale xmlns:android="http://schemas.android.com/apk/res/android" 
android:interpolator="@android:anim/accelerate_decelerate_interpolator" 
android:fromXScale="1" 
android:toXScale="1.1" 
android:pivotX="50%" 
android:pivotY="50%" 
android:duration="200" 
android:fillAfter="true" />

Here, you're increasing the width by 10%, from 1.0 to 1.1. For the makeSmaller.xml file, swap the values of android:fromXScale and android:toXScale, or just set them as you like. To apply the animation to your button,

Button myButton = (Button)findViewById(R.id.myButton);
myButton.setAnimation(AnimationUtils.loadAnimation(this, R.anim.makeLarger));

Of course, the makeLarger and makeSmaller animations should be set when you touch the button.

I hope this helps!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文