如何在android中交换两个按钮的位置
当我们点击切换按钮时,我想交换两个按钮的位置。我试了很多,但没有成功。所以如果有人知道怎么做,请建议我。如何在android中交换两个按钮的位置,android,animation,Android,Animation,当我们点击切换按钮时,我想交换两个按钮的位置。我试了很多,但没有成功。所以如果有人知道怎么做,请建议我。 谢谢大家。从API级别1开始,Android中就提供了切换按钮 下面的链接提供了Android中各种按钮的使用信息 我认为上面的链接对你有帮助 如果没有,请提供快照,以便更清楚地回答问题。您可以执行以下操作: 单击 1.动态更改按钮的标签。 2.按按钮标签跟踪按钮单击事件。 例如: 1.有两个按钮标记为“按钮1”和“按钮2”。 2.单击“按钮1”->将按钮标签更改为“按钮1”为“按钮2”,
谢谢大家。从API级别1开始,Android中就提供了切换按钮 下面的链接提供了Android中各种按钮的使用信息 我认为上面的链接对你有帮助
如果没有,请提供快照,以便更清楚地回答问题。您可以执行以下操作:
单击
1.动态更改按钮的标签。
2.按按钮标签跟踪按钮单击事件。
例如:
1.有两个按钮标记为“按钮1”和“按钮2”。
2.单击“按钮1”->将按钮标签更改为“按钮1”为“按钮2”,将“按钮2”更改为“按钮1”。
3.单击“按钮2”的情况类似。
4.在OnClick方法中,通过标签(“按钮1”或“按钮2”)跟踪按钮单击事件
您可以使用
View.setVisibility()
尝试一种隐蔽的解决方法。从res/layout/main.xml开始:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:id="@+id/switcher"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Switch"
android:onClick="switchButtons" />
<Button
android:id="@+id/buttonA1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button A" />
<Button
android:id="@+id/buttonB1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button B" />
<Button
android:id="@+id/buttonB2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button B"
android:visibility="gone" />
<Button
android:id="@+id/buttonA2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button A"
android:visibility="gone" />
</LinearLayout>
剩下的就是为这四个按钮分配
onClick()
方法。//这是交换按钮所需的代码
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class Foo extends Activity {
Button switcher;
Button A1;
Button A2;
Button B1;
Button B2;
boolean buttons1AreVisible = true;
protected void onCreate(Bundle allthethings) {
super.onCreate(allthethings);
setContentView(R.layout.activity_main);
switcher = (Button) findViewById(R.id.switcher);
A1 = (Button) findViewById(R.id.buttonA1);
A2 = (Button) findViewById(R.id.buttonA2);
B1 = (Button) findViewById(R.id.buttonB1);
B2 = (Button) findViewById(R.id.buttonB2);
switcher.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if (buttons1AreVisible) {
A1.setVisibility(View.GONE);
B1.setVisibility(View.GONE);
B2.setVisibility(View.VISIBLE);
A2.setVisibility(View.VISIBLE);
} else {
A1.setVisibility(View.VISIBLE);
B1.setVisibility(View.VISIBLE);
B2.setVisibility(View.GONE);
A2.setVisibility(View.GONE);
}
buttons1AreVisible = !buttons1AreVisible;
}
});
}
}
交换编辑文本的示例
button2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
EditText button3;
EditText button4;
button3 = (EditText) findViewById(R.id.button3);
button4 = (EditText) findViewById(R.id.button4);
int top3 = button3.getTop();
int bot3 = button3.getBottom();
int left3 = button3.getLeft();
int right3 = button3.getRight();
int top4 = button4.getTop();
int bot4 = button4.getBottom();
int left4 = button4.getLeft();
int right4 = button4.getRight();
button4.setTop(top3);
button4.setBottom(bot3);
button4.setLeft(left3);
button4.setRight(right3);
button3.setTop(top4);
button3.setBottom(bot4);
button3.setLeft(left4);
button3.setRight(right4);
}
});
我用动画来交换它,我的代码刚刚回到相同的位置谢谢Lalit,但我的问题是如何交换两个按钮的位置。谢谢gobernador。但我不想这样使用。实际上我们必须交换按钮的位置。我真的不明白,根据你提供的信息,为什么这不起作用,但也许这个问题会有帮助,但我们想用动画来交换按钮的位置。
button2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
EditText button3;
EditText button4;
button3 = (EditText) findViewById(R.id.button3);
button4 = (EditText) findViewById(R.id.button4);
int top3 = button3.getTop();
int bot3 = button3.getBottom();
int left3 = button3.getLeft();
int right3 = button3.getRight();
int top4 = button4.getTop();
int bot4 = button4.getBottom();
int left4 = button4.getLeft();
int right4 = button4.getRight();
button4.setTop(top3);
button4.setBottom(bot3);
button4.setLeft(left3);
button4.setRight(right3);
button3.setTop(top4);
button3.setBottom(bot4);
button3.setLeft(left4);
button3.setRight(right4);
}
});