2011-03-21 126 views
1

我有以下要求。水平显示两个图像视图

  1. 我在横向模式下显示两个空白图像(ImageView)。
  2. 基于一些逻辑,我需要在每个图像上放两个TextView。出于这个原因,我正在使用扩展BaseAdapter的类。

我一直在使用画廊的多个图像(图像大于2)已经创建的相同,但要求是,对于两个图像,它不应该是滚动&也不会有任何中心形象,是当我使用Gallery的情况下,Image占据了屏幕的中心部分。

这两个图像需要间隔,例如,图像1应该从左边界有20dip,而Image2应该从右边界有20dip。

请提供逻辑/示例代码来实现它。
扩展BaseAdapter类正常工作。我只需要与布局相关的细节以水平方式显示两个图像。

回答

1

怎么样在一个水平的两个图像LinearLayout?您res/layout/main.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_margin="10dp" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <ImageView android:id="@+id/image_1" 
     android:layout_weight="1" 
     android:layout_gravity="center_vertical" 
     android:padding="10dp" 
     android:adjustViewBounds="true" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 
    <ImageView android:id="@+id/image_2" 
     android:layout_weight="1" 
     android:layout_gravity="center_vertical" 
     android:padding="10dp" 
     android:adjustViewBounds="true" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 
</Linearlayout> 

,然后在Java代码中,你可以切换出易于使用ImageView#setImageFoo方法图像:

ImageView first = (ImageView) findViewById(R.id.image_1); 
first.setImageResource(R.drawable.my_picture); 

其中my_picture.png将是您的res/drawables文件夹中的图像。

+0

由于以下原因,我正在使用BaseAdapter:1>这两个图像具有一些功能,可以将它们删除并将值存储在数据库中。基本上,我在横向模式下显示2个项目的列表。在每张图片上,我都添加了一个textview和一个删除图标。由于其中一些功能,我正在通过适配器传递文本值,删除图标。所以,正常添加2 ImageViews到我的布局文件不会工作。它应该是通过调用BaseAdapter类将第一个图像添加到布局中,然后将下一个图像同样添加到现有列表中。 – chiranjib 2011-03-21 21:00:37

+0

我不认为你必须为此使用一个列表。您可以使用两个自定义视图。但是,如果您需要执行基于水平适配器的视图,则可以尝试使用GridView,并确保它可以适合两行中的项目。 – 2011-03-21 21:02:16

+0

感谢马修,我正在使用GridView。你可以建议,如何使GridView布局文件,第一个图像定位50从左布局页边距和第二个图像定位50从右布局页边距下降? – chiranjib 2011-03-21 21:20:25