在Xamarin.Android中制作可调整大小的矩形

邦卡

我使用Camera View在Xamarin.Android中制作了一个矩形。但是有很多问题,例如-

  1. 不太敏感
  2. 拖曳时滞后

到目前为止,我在CameraLayout.xml中的尝试

   <ImageView
        android:id="@+id/Center_Point_photo"
        android:layout_width="80px"
        android:layout_height="80px"
        android:src="@drawable/center_point"
        android:layout_marginTop="670px"
        android:layout_marginLeft="350px" />

    <ImageView
        android:id="@+id/Top_Left_photo"
        android:layout_width="50px"
        android:layout_height="50px"
        android:src="@drawable/top_left"
        android:layout_marginTop="600px"
        android:layout_marginLeft="250px" />
    <ImageView
        android:id="@+id/Top_Right_photo"
        android:layout_width="50px"
        android:layout_height="50px"
        android:src="@drawable/top_right"
        android:layout_marginTop="600px"
        android:layout_marginLeft="500px" />
    <ImageView
        android:id="@+id/Bottom_Left_photo"
        android:layout_width="50px"
        android:layout_height="50px"
        android:src="@drawable/bottom_left"
        android:layout_marginTop="750px"
        android:layout_marginLeft="250px" />
    <ImageView
        android:id="@+id/Bottom_Right_photo"
        android:layout_width="50px"
        android:layout_height="50px"
        android:src="@drawable/bottom_right"
        android:layout_marginTop="750px"
        android:layout_marginLeft="500px" />

这是图片

拖角时的第二个问题。拖角我的代码不流畅:

ImageView OCR_Rectangle;
ImageView OCR_Top_Left;
ImageView OCR_Top_Right;
ImageView OCR_Bottom_Left;
ImageView OCR_Bottom_Right;

int deltaX = (int)e.GetX() - lastX;
int deltaY = (int)e.GetY() - lastY;      
    centerX = (int)OCR_Rectangle.GetX() + OCR_Rectangle.Width / 2;
    centerY = (int)OCR_Rectangle.GetY() + OCR_Rectangle.Height / 2;
    if (((int)e.GetX() >= centerX) && ((int)e.GetY() >= centerY))
    {
    OCR_Rectangle.SetX(OCR_Rectangle.GetX() - deltaX );
    OCR_Rectangle.SetY(OCR_Rectangle.GetY() - deltaY * 2);
    OCR_Rectangle.LayoutParameters.Width += deltaX * 2;
    OCR_Rectangle.LayoutParameters.Height += deltaY * 4;   
    OCR_Top_Left.SetX(OCR_Rectangle.GetX());
    OCR_Top_Left.SetY(OCR_Rectangle.GetY());
    OCR_Top_Right.SetX(OCR_Rectangle.GetX() + OCR_Rectangle.Width - OCR_Top_Right.Width);
    OCR_Top_Right.SetY(OCR_Rectangle.GetY());
    OCR_Bottom_Left.SetX(OCR_Rectangle.GetX());
    OCR_Bottom_Left.SetY(OCR_Rectangle.GetY() + OCR_Rectangle.Height - OCR_Bottom_Left.Height);
    OCR_Bottom_Right.SetX(OCR_Rectangle.GetX() + OCR_Rectangle.Width - OCR_Bottom_Right.Width);
    OCR_Bottom_Right.SetY(OCR_Rectangle.GetY() + OCR_Rectangle.Height - OCR_Bottom_Right.Height);
    } 
    OCR_Rectangle.RequestLayout();    
    lastX = (int)e.GetX();
    lastY = (int)e.GetY();

我受到Microsoft Math应用程序链接的启发,所以我想做类似的事情

他们的矩形 任何帮助将不胜感激。

第一次尝试 在此处输入图片说明

哈迪利森

您应该使用FrameLayout将元素居中,并将其定位在此Project中的适当位置。

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"    
    android:layout_width="match_parent"
    android:background="#fff"
    android:layout_height="match_parent">  
    <TextView
        android:text="Text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:textColor="@android:color/holo_red_light"
        android:minWidth="25px"
        android:minHeight="25px"
        android:id="@+id/textView1"
        android:layout_gravity="left|top" />
    <ImageView
        android:src="@android:drawable/ic_menu_gallery"
        android:layout_margin="10dp"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:id="@+id/imageView1"
        android:layout_gravity="right|top" />
    <FrameLayout
        android:minWidth="25px"
        android:minHeight="25px"
        android:layout_width="200dp"
        android:layout_height="150dp"
        android:id="@+id/frameLayout1"
        android:layout_gravity="center" >
        <ImageView
            android:background="#000"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:id="@+id/imageView2"
            android:layout_gravity="top|left" />
        <ImageView
            android:background="#000"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:id="@+id/imageView3"
            android:layout_gravity="bottom|left" />
        <ImageView
            android:background="#000"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:id="@+id/imageView4"
            android:layout_gravity="top|right" />
        <ImageView
            android:background="#000"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:id="@+id/imageView5"
            android:layout_gravity="bottom|right" />
        <ImageView
            android:background="#000"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:id="@+id/imageView6"
            android:layout_gravity="center" />
    </FrameLayout>

</FrameLayout>

图片显示结果,我使用背景色显示图片的位置

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在QML中制作可调整大小的矩形?

来自分类Dev

Android在相机上方显示可调整大小的矩形

来自分类Dev

可调整大小的可移动矩形

来自分类Dev

GLSL中的可调整大小的数组

来自分类Dev

AlloyUI中的可调整大小的面板

来自分类Dev

javaFX-如何创建可调整大小的矩形?

来自分类Dev

在画布上绘制可调整大小的矩形

来自分类Dev

如何使用可调整大小的圆角矩形作为KeyIcon

来自分类Dev

制作健壮的,可调整大小的Swing Chess GUI

来自分类Dev

如何从各个角度制作可调整大小的div?

来自分类Dev

制作可调整大小背景的最佳方法?

来自分类Dev

如何在Android Xamarin中调整ImageButton的大小?

来自分类Dev

使控件可调整大小

来自分类Dev

JavaFx可调整大小

来自分类Dev

使控件可调整大小

来自分类Dev

Lisp中的固定大小与可调整大小的向量

来自分类Dev

如何在Android中创建可调整大小的工具栏(或ActionBar)

来自分类Dev

Android样式拖动可调整大小菜单

来自分类Dev

动态可调整大小的网格,可处理Android

来自分类Dev

Android样式拖动可调整大小菜单

来自分类Dev

调整Xamarin中的单元格大小

来自分类Dev

调整Xamarin表单中的图像大小

来自分类Dev

调整Xamarin中的单元格大小

来自分类Dev

如何使javaFX中的canvas可调整大小?

来自分类Dev

Java SWT中的可调整大小对话框

来自分类Dev

Haskell中可调整大小的IO阵列

来自分类Dev

JavaFX将可调整大小的弧居中于边框中

来自分类Dev

如何在JTextPane中嵌入可调整大小的JPanel?

来自分类Dev

TypeScript中的Antd可调整大小的表格列