当我们点击切换按钮时,我想交换两个按钮位置。我已经尝试了很多,但没有取得成功。所以,如果有人知道如何做到这一点,请建议我。 谢谢大家。
答案 0 :(得分:2)
//这是交换按钮所需的代码。
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;
}
});
}
}
答案 1 :(得分:0)
ToggleButton自Android API级别以来在Android中可用。
以下链接提供了有关在Android中使用各种按钮的信息
http://android-pro.blogspot.in/2010/03/android-button-controls.html
我认为以上链接对您有所帮助。
如果没有,请提供快照以便更清楚地了解问题。
答案 2 :(得分:0)
您可以执行以下操作:
点击
1.动态更改按钮的标签
2.按按钮标签跟踪按钮单击事件。
例如:
你有两个标有“按钮1”和“按钮1”的按钮。 “按钮2”。
2.单击“按钮1” - >将按钮标签更改为“按钮1”至“按钮2”,将“按钮2”更改为“按钮1”
3.点击“按钮2”时类似。
4.在OnClick方法中,通过标签跟踪按钮单击事件(“按钮1”或“按钮2”)
答案 3 :(得分:0)
您可以尝试使用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>
现在我们有Activity
将此布局放入:
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.main);
switcher = findViewById(R.id.switcher);
A1 = findViewById(R.id.buttonA1);
A2 = findViewById(R.id.buttonA2);
B1 = findViewById(R.id.buttonB1);
B2 = findViewById(R.id.buttonB2);
}
private void switchButtons() {
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;
}
}
剩下的就是将onClick()
方法分配给四个按钮。
答案 4 :(得分:0)
交换edittext的示例
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);
}
});