![](/img/trans.png)
[英]Fragment using ScrollView inside RelativeLayout > ontouch doesn't work
[英]Layout doesn't work inside onTouch()
我用兩個ImageViews創建一個Activity。
第一個ImageView在啟動時占據了屏幕的一部分,我想顯示另一個ImageView,其內容是我觸摸第一個Image並在其頂部的區域周圍的作物。
類:
public class DetectEyesActivity extends Activity implements OnTouchListener {
private ImageView imgView;
private Bitmap imgBitmap;
private ImageView touchView2;
private Bitmap temp;
@Override
public void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.detecteyeslayout);
Intent intent = this.getIntent();
byte[] image = intent.getByteArrayExtra("Image");
imgView = (ImageView) findViewById(R.id.detectImageView1);
touchView2 = (ImageView) findViewById(R.id.detectImageView2);
imgBitmap = BitmapFactory.decodeByteArray(image, 0, image.length);
imgView.setImageBitmap(imgBitmap);
temp = Bitmap.createBitmap(imgBitmap, 200, 200, 200, 200);
//touchView2.setImageBitmap(temp);
imgView.setOnTouchListener(this);
}
@Override
public boolean onTouch(View v, MotionEvent event) {
int y = (int)event.getY();
int x = (int)event.getX();
temp = Bitmap.createBitmap(imgBitmap, 200,200, 200, 200);
touchView2.setImageBitmap(temp);
touchView2.setVisibility(0);
touchView2.bringToFront();
touchView2.layout(x-200, y-200, x-30, y-30);
return true;
}
}
布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/detectImageView1"
android:layout_width="400dp"
android:layout_height="400dp" />
<ImageView
android:id="@+id/detectImageView2"
android:layout_width="100dp"
android:layout_height="100dp"
android:visibility="gone" />
</LinearLayout>
但是當我打電話
touchView2.setImageBitmap(temp);
在onTouch()內部,視圖繪制在布局的初始圖像下方。 但是,如果我在onCreate()中調用它,它是否會繪制在初始圖像的頂部?
為什么會發生這種情況,如何解決這個問題?
據我了解您的問題,您希望其中一張圖像重疊在另一張圖像上。 LinearLayouts以水平或垂直線顯示其子級。 這不是適合您的案例使用的ViewGroup,因為它不允許多個子對象占用相同的空間。 我會嘗試相對或框架布局。
另外,您已經將第二張圖片的可見性設置為最初gone
,因此並不是在第一張圖片上繪制第一張圖片,而是直到您在onTouch中調用setVisibility
才完全繪制第二張圖片。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.