如何在android中弹出一些部分图像

时间:2012-12-17 06:21:58

标签: android image imageview

我想要显示图像的某些部分。就像一本漫画书。我有一个像这样的图像。

this is actual image.

当我点击图像时,某些部分显示如下。

Second image when click this part of image.

我想显示这种类型。 在这个过程中,我创建了一些包含主图像图像部分的zip文件。 我完成了显示每个图像序列。但我的问题是如何获得实际图像的任何部分点击并在第二个屏幕显示这个?

我无法获得图像部分ID。 所以如何获得这部分图像ID。

所以请帮助我。 我卡住了。

2 个答案:

答案 0 :(得分:1)

如果您使用主图像的部分存档,那么这意味着您手动制作它们,对吧? 因此,您的漫画书阅读器仅适用于手动创建的内容。

这是真的,因此制作某种配置文件(例如基于xml或Properties文件)没有任何问题,其中包含每个部分的大小和位置。

之后,您可以处理MotionEvent并通过配置中的坐标检测部分ID。

您还可以通过即时剪切图像来改善您的应用程序。这并不难。

示例:

此处的图片(page1.png):

--------------------------------
|                 |            |
|                 |            |
|                 |     2      |
|        1        |            |
|                 |            |
|                 |------------|
|                 |            |
|-----------------|            |
|                 |     4      |
|                 |            |
|                 |            |
|                 |------------|
|        3        |            |
|                 |            |
|                 |     5      |
|                 |            |
|                 |            |
--------------------------------

您的简单配置(page1.cfg):

# Parts description
# id=x,y;w,h
1=0,0;18,9
2=19,0;13,7
3=0,10;18,11
4=19,8;13,7
5=19,15;13,6

你的拉链:

page1.png
page1-1.png
page1-2.png
page1-3.png
page1-4.png
page1-5.png
page1.cfg
...

答案 1 :(得分:0)

你可以为这个问题做一件事。

  

在布局内设置按钮(背景为透明)。

     

设置按钮的OnclickListener以显示所需的PopUps   在课堂活动中。

     

您还可以管理按钮Click Visible / Invisible Feature的事件   根据您的要求。

已修改

你的xml将如下所示。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/YOUR_IMAGE" >

    <Button
        android:id="@+id/btn_invisible"
        android:layout_width="85dp" 
        android:layout_height="30dp"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="18dp"
        android:background="@android:color/transparent" />

</RelativeLayout>

和您的活动类的OnCreate()方法内部。

   @Override
protected void onResume() {
    // TODO Auto-generated method stub
    super.onResume();

    setContentView(R.layout.help_1);
    btn_invisible = (Button) findViewById(R.id.btn_invisible);
    btn_invisible.setOnClickListener(this);
}

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub

    if (v == btn_invisible) {
        //Whatever Code you want to Use for Show Popups

    }

我不确定,但你可以尝试一次。