以编程方式将视图置于最前面
Bring view to the front prprogrammaticly
我正在使用 frameLayout 并尝试在单击 imageButton 时以编程方式将视图 放在 另一个视图上。我使用 Frame Layout,因为有人告诉我它允许您相互查看。但是,单击按钮时,imageView 会消失在另一个视图的后面,而不是在前面。
这是我的布局- "hole" 是 imageButton,只要单击它,imageView "goola" 就需要在其上移动。
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="${relativePackage}.${activityClass}" >
<ImageButton
android:id="@+id/hole"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="100dp"
android:background="@android:color/transparent"
android:src="@drawable/home0" />
<ImageView
android:id="@+id/goola"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:src="@drawable/goola" />
这里是 JAVA(onClick 方法)
@Override
public void onClick(View v)
{
ImageButton b=(ImageButton)v;
int[] location = new int[2];
b.getLocationOnScreen(location);
float startX = location[0];
float startY = location[1];
goola.setX(startX);
goola.setY(startY);
}
如果哪位有解决办法的能写出好的答案不胜感激!
非常感谢 :)
您可以尝试在适当的视图上调用 View#bringToFront()。
我正在使用 frameLayout 并尝试在单击 imageButton 时以编程方式将视图 放在 另一个视图上。我使用 Frame Layout,因为有人告诉我它允许您相互查看。但是,单击按钮时,imageView 会消失在另一个视图的后面,而不是在前面。 这是我的布局- "hole" 是 imageButton,只要单击它,imageView "goola" 就需要在其上移动。
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="${relativePackage}.${activityClass}" >
<ImageButton
android:id="@+id/hole"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="100dp"
android:background="@android:color/transparent"
android:src="@drawable/home0" />
<ImageView
android:id="@+id/goola"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:src="@drawable/goola" />
这里是 JAVA(onClick 方法)
@Override
public void onClick(View v)
{
ImageButton b=(ImageButton)v;
int[] location = new int[2];
b.getLocationOnScreen(location);
float startX = location[0];
float startY = location[1];
goola.setX(startX);
goola.setY(startY);
}
如果哪位有解决办法的能写出好的答案不胜感激! 非常感谢 :)
您可以尝试在适当的视图上调用 View#bringToFront()。