![](/img/trans.png)
[英]How to rotate an image in circular manner with respect to its center on touch in android
[英]Add Image to layout on touch in android with respect to touch position
關於xy位置,我在屏幕上觸摸的任何位置都需要在該特定位置上添加一張圖像。 我嘗試實現ontouch偵聽器,但它會將圖像添加到不同的位置,並且許多圖像都出現在許多觸摸上,我想要一些東西,例如我曾經觸摸過的同一圖像應該出現在哪里,請幫助我是android系統項目中的新手一個公司
這是我的活動代碼
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final RelativeLayout rl = (RelativeLayout) findViewById(R.id.wwcontainer);
//Set On TouchListner to the Layout
rl.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
Log.i("OnTouch", "On Touch View Group....");
int x = (int) event.getX();
int y = (int) event.getY();
ImageView imageView = new ImageView(getApplicationContext());
imageView.setImageResource(R.drawable.icon);
imageView.setLayoutParams(new LayoutParams(x,y));
rl.addView(imageView);
return true;
}
});
}
我知道拖放操作,我不希望拖放,而是需要觸摸任何應該出現圖像的位置,請觸摸我,請幫助我
我有同樣的要求,這就是我所做的,對我來說效果很好
final RelativeLayout rr = (RelativeLayout) findViewById(R.id.rr);
rr.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
int x = (int) event.getX();
int y = (int) event.getY();
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
ImageView iv = new ImageView(getApplicationContext());
lp.setMargins(x, y, 0, 0);
iv.setLayoutParams(lp);
iv.setImageDrawable(getResources().getDrawable(
R.drawable.gr1));
((ViewGroup) v).addView(iv);
}
return false;
}
});
這會將圖像放置到RelativeLayout中,您從此處觸摸開始坐標。 如果要將新圖像居中放置在觸摸了RelativeLayout的位置,則需要計算圖像的高度和寬度,並將代碼中的一行更改為
lp.setMargins(x - yourImageWidth/2, y - yourImageHeight/2, 0, 0);
您需要使用AbsoluteLayout而不是RelativeLayout。
要在特定的x,y位置添加圖像,您需要AbsoluteLayout。
您是否檢查過int值getX()和getY()返回的值,我認為它將返回0,0。
請使用event.getRawX()和event.getRawX()來獲取實際的觸摸位置。 我希望這會有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.