Java 用精确的X和Y坐标绘制矩形
我正在开发一个Android应用程序,它将动态插入矩形。出现的问题是,我不知道如何插入具有特定X Y坐标的矩形 以下是迄今为止的代码:Java 用精确的X和Y坐标绘制矩形,java,android,android-layout,Java,Android,Android Layout,我正在开发一个Android应用程序,它将动态插入矩形。出现的问题是,我不知道如何插入具有特定X Y坐标的矩形 以下是迄今为止的代码: public class MainActivity extends Activity { DrawRectangle drawView; ImageView DrawingImage; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedI
public class MainActivity extends Activity {
DrawRectangle drawView;
ImageView DrawingImage;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageView DrawingImage = (ImageView) this.findViewById(R.id.image2);
Bitmap bitmap2 = Bitmap.createBitmap((int) getWindowManager()
.getDefaultDisplay().getWidth(), (int) getWindowManager()
.getDefaultDisplay().getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap2);
DrawingImage.setImageBitmap(bitmap2);
// Draw Rectangle
Paint paint = new Paint();
paint.setColor(Color.GREEN);
paint.setStyle(Paint.Style.FILL);
int left = 25;
int top = 25;
int right = 60;
int bottom = 50;
Point insertRec=new Point(0, 120);
Rect rec = new Rect(insertRec.x, insertRec.y, insertRec.x+30, insertRec.y+25);
canvas.drawRect(rec,paint);
ImageView image = (ImageView) findViewById(R.id.image);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.test);
image.setImageBitmap(bitmap);
}
XML:
我试着把一个新的变量点myPoint=newpointx,y;但是我仍然不能在我想要的地方插入它,因为插入点在-60120,当我创建该点时,它不在那里
有什么建议吗
提前谢谢你
编辑
当我这样做时,矩形不会出现在0120处,因为它在屏幕内部大约3-4厘米
向你致意,迪米塔尔·乔治(Dimitar Georgiev)你正在25,25画你的矩形。你到底想做什么?你需要用左上角的边在你指定的点上画矩形,还是以点为中心画矩形?另外,x坐标应该是-60吗?据我所知,您正在绘制的屏幕/视图的左上角为0,0,因此-60没有意义。除非你要求矩形部分从屏幕上画出来?好吧,我想做的基本事情是在-50、120上插入一个矩形,但我在android中还是非常新的,所以我决定寻求一些帮助。我知道这应该很容易,但我还是做不到:你以前有过canvas调用吗,比如canvas.translate?我会用代码编辑我的答案
<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">
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_marginTop="50dp"
android:src="@drawable/test" />
<ImageView
android:id="@+id/image2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_marginTop="50dp" />
</FrameLayout>