Android - 两个ImageViews并排

时间:2011-06-02 21:02:28

标签: android imageview

我正在尝试为Android应用创建一个Activity,其中两个imageView并排排列。我目前的布局配置如下:

<LinearLayout android:orientation="horizontal"
    android:layout_width="fill_parent" android:layout_height="wrap_content"
    android:paddingTop="15dip" android:paddingBottom="15dip"
    android:background="@drawable/dark_bg">

    <ImageView android:id="@+id/numberDays"  
        android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:scaleType="fitStart"
        android:src="@drawable/counter_01" />
    <ImageView android:src="@drawable/counter_days" 
        android:layout_height="wrap_content" android:layout_width="wrap_content"
        android:scaleType="fitStart" 
        android:id="@+id/daysText"></ImageView>

</LinearLayout>

第一个图像是正方形(比方说100x100),第二个图像是矩形(300x100) - 我希望它们彼此相邻对齐,但总是按比例缩放以适应设备的宽度 - 这可能只是布局配置吗?

当前配置只显示屏幕的整个宽度(和几乎高度)的第一个图像,并且根本不显示第二个图像。我尝试使用fill_parent和hardocding宽度更改wrap_content,但这只会导致两个图像被显示,但第一个图像位于第二个图像的顶部(两个都锚定在左侧)。

由于


再次更新:

我已经更新了我的布局,现在看起来像是推荐的ScrollView,但没有快乐:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:gravity="top"
    android:layout_width="fill_parent" android:layout_height="fill_parent" >

<!-- Header for activity - this has the countdown in it -->
<ScrollView android:id="@+id/ScrollView01" android:layout_height="wrap_content" android:layout_width="fill_parent">
    <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content"
        android:gravity="right"
        android:background="@drawable/dark_bg" android:orientation="horizontal">

        <ImageView android:id="@+id/numberDays"  
            android:layout_width="wrap_content" android:layout_height="wrap_content"
            android:layout_weight="2"
            android:src="@drawable/counter_01" />

        <ImageView android:src="@drawable/counter_days" 
            android:layout_width="wrap_content" android:layout_height="wrap_content"
            android:layout_weight="1" 
            android:id="@+id/daysText"/>

    </LinearLayout>

</ScrollView>


<!--  main body for the rest of the info -->
    <LinearLayout android:orientation="horizontal" android:gravity="center"
        android:layout_width="fill_parent" android:layout_height="fill_parent"
        android:background="@drawable/light_bg">
    </LinearLayout>

</LinearLayout>

根据建议使用layout_weight已经给出了两个图像的正确比例并且看起来完美地缩放,但是,我仍然遇到问题,因为它们都锚定在屏幕的最左侧,所以第一个图像实际上是覆盖在第二张图像的顶部,而不是将它们并排放置。

以下是Eclipse显示的屏幕截图:

enter image description here

2 个答案:

答案 0 :(得分:13)

尝试对layout_weight两个组件使用ImageView。如下所示:

<LinearLayout android:orientation="horizontal"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"
    android:paddingTop="15dip"
    android:paddingBottom="15dip"
    android:background="@drawable/dark_bg">
    <ImageView android:id="@+id/numberDays"  
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:scaleType="fitStart"
        android:layout_weight="1"
        android:src="@drawable/counter_01" />
    <ImageView android:src="@drawable/counter_days" 
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content"
        android:scaleType="fitStart" 
        android:layout_weight="1"
        android:id="@+id/daysText"></ImageView>
</LinearLayout>

我为每个人添加了android:layout_weight="1"。关于layout_weight定义的LinearLayout Read up useful,非常{{3}}!

答案 1 :(得分:0)

您可以尝试创建水平ScrollView,其layout_width像素值大于两个ImageView的组合,而不是fill_parent。然后将LinearLayout放在其中。