如何在android中popup一些零件图像

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

这是实际的形象。

当我点击图像时,一些部分显示像这样。

点击这部分图像时的第二个图像。

我想显示这种types。 在这个过程中,我创build了一些zip文件女巫包含图像的主要形象的一部分。 我完成显示每个图像序列wise.but我的问题是如何获得实际图像的任何部分点击并显示在像第二个屏幕?

我无法得到图像部分ID。 所以如何得到这个部分的图片id。

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

Solutions Collecting From Web of "如何在android中popup一些零件图像"

如果你有主要图像的部分存档,所以这意味着你做了他们手动,对不对? 所以,你的漫画书阅读器将只适用于手动创build的内容。

这是真的,所以没有什么麻烦做一些configuration文件(例如基于XML或属性文件),将包含每个部分的大小和位置。

之后,您可以处理MotionEvent,并通过config的坐标来检测部件的id。

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

例:

你的形象在这里( page1.png ):

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

你的简单configuration( 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 ... 

你可以为这个问题做一个技巧。

设置button(背景为透明)内部布局。

设置button的OnclickListener来显示你的class级活动中你想要的PopUps。

您还可以pipe理button按可见/不可见function单击事件按照您的要求。

编辑

你的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> 

和你的Activity类的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 } 

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