gpt4 book ai didi

Android:交换两个重叠的 View

转载 作者:行者123 更新时间:2023-11-29 02:15:34 25 4
gpt4 key购买 nike

谁能告诉我这个实现有什么问题?我在这里要做的就是让两个重叠的 View 在您点击屏幕时交换位置。除非我只是用错了,否则 View.bringToFront() 什么都不做?

下面是我的应用程序中的所有代码。请注意,我向“backView”添加了填充只是为了确保两者实际上是重叠的。事实上,我可以在屏幕上看到两者。虽然点击顶部 View 确实会触发 onClick 方法,但在响应对 bringToFront 的调用时没有明显的变化。

public class MainActivity extends Activity implements OnClickListener {
private ImageView frontView;
private ImageView backView;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

frontView = (ImageView) findViewById(com.example.R.id.FrontView);
backView = (ImageView) findViewById(com.example.R.id.BackView);

frontView.setOnClickListener(this);
backView.setOnClickListener(this);

backView.setPadding(10,0,0,0);
}

private boolean flag;
public void onClick(View v) {
if (!flag) {
backView.bringToFront();
}
else {
frontView.bringToFront();
}
flag = !flag;
}
}

和相应的布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/FrontView"
android:src="@drawable/front"
/>
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/BackView"
android:src="@drawable/back"
/>
</RelativeLayout>

也许这是我正在使用的布局?我不确定...我也尝试过 FrameLayout 和 LinearLayout。

最佳答案

我会尝试交换内容 View 而不是 ImageViews。将每个 imageView 放在不同的布局中,然后很容易:

public void onClick(View v) {
if (!flag) {
setContentView(R.layout.main_front);
frontView = (ImageView) findViewById(com.example.R.id.FrontView);
frontView.setOnClickListener(this);
}
else {
setContentView(R.layout.main_back);
backView = (ImageView) findViewById(com.example.R.id.BackView);
backView.setOnClickListener(this);
}
flag = !flag;

关于Android:交换两个重叠的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4241396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com