Android Imageview“挤压”了Android Imageview

时间:2012-12-05 08:31:48

标签: android textview imageview width

我已经定义了一个XML来显示一个小的popUp窗口:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical" >

<ScrollView
    android:id="@+id/scroller"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="16dip"
    android:background="@drawable/marker_popup_border"
    android:clickable="true"
    android:fadingEdgeLength="5dip"
    android:scrollbars="none" >

    <LinearLayout
        android:id="@+id/tracks"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal|center_vertical"
        android:orientation="horizontal"
        android:padding="10dip" >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:paddingRight="10dp" >

            <TextView
                android:id="@+id/popUpName"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge" />

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center" >

                <TextView
                    android:id="@+id/popUpState"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:drawablePadding="5dp" />
            </LinearLayout>
        </LinearLayout>

        <LinearLayout
            android:layout_width="1dp"
            android:layout_height="match_parent"
            android:background="@color/graylightmore" >
        </LinearLayout>

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:contentDescription="@string/info"
            android:paddingLeft="5dp"
            android:src="@drawable/info" />

    </LinearLayout>
</ScrollView>

<ImageView
    android:id="@+id/arrow_down"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="-4dip"
    android:contentDescription="@string/empty"
    android:src="@drawable/arrow_down_black" />

当两个Textviews中的一个需要大量空间时,信息图像会被挤压......您可以在this链接上看到结果。我需要一个提示,以便始终显示i,并在需要时将textviews分成2行。

1 个答案:

答案 0 :(得分:0)

尝试给出layout_weight属性,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical" >

<ScrollView
    android:id="@+id/scroller"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="16dip"
    android:background="@drawable/marker_popup_border"
    android:clickable="true"
    android:fadingEdgeLength="5dip"
    android:scrollbars="none" >

    <LinearLayout
        android:id="@+id/tracks"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal|center_vertical"
        android:orientation="horizontal"
        android:padding="10dip" >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:paddingRight="10dp" 
            android:layout_weight="2">

            <TextView
                android:id="@+id/popUpName"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge" />

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center" >

                <TextView
                    android:id="@+id/popUpState"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:drawablePadding="5dp" />
            </LinearLayout>
        </LinearLayout>

        <LinearLayout
            android:layout_width="1dp"
            android:layout_height="match_parent"
            android:background="@color/graylightmore" 
            >
        </LinearLayout>

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:contentDescription="@string/info"
            android:paddingLeft="5dp"
            android:src="@drawable/info" 
            android:layout_weight="1"/>

    </LinearLayout>
</ScrollView>

<ImageView
    android:id="@+id/arrow_down"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="-4dip"
    android:contentDescription="@string/empty"
    android:src="@drawable/arrow_down_black" />