根据Coordinate Android突出显示Imageview区域

时间:2014-08-28 11:51:43

标签: java android android-layout graphics

我在图片视图中有一张图片。我希望在touchlistener上突出显示图像视图区域 根据坐标(x1,y1)(x2,y2)

我想要这样的输出。

enter image description here

这是图像并突出显示阿拉伯语ayat。

1 个答案:

答案 0 :(得分:1)

也许您可以添加第二个ImageView,其大小与第一个相同(第一个)(FrameLayout或RelativeLayout)。第二个ImageView将包含荧光笔。你可以使用paddingTop,paddingLeft,paddingRight和paddingBottom来调整你的荧光笔。

一些伪示例代码:

<FrameLayout 
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <ImageView 
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/content/>
    <ImageView 
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/highlighter
        android:src="#500000ff
        android:visibility="invisible"/>
</FrameLayout>

然后在你的活动中:

private void drawHighlighter(int x1, int y1, int x2, int y2) {
    View imgHighlighter = findViewById(R.id.highlighter);
    imgHighlighter.setPadding(x1, y1, imgHighlighter.getWidth() - x2, imgHighlighter.getHeight() - y2);
    imgHighlighter.setVisibility(View.VISIBLE);
}