Android :: Layout_weight和ImageView

时间:2014-07-22 16:53:26

标签: android android-layout-weight layout-xml

问题

我想根据百分比或重量调整ImageView,但不能。{/ p>

主要布局由2个布局组成,它们相当于第1行和第2行。

在第1行中,另外4个布局内部各有一个ImageView

我希望这些ImageView相应地扩展它们的高度和宽度

按父母宽度高度的百分比或重量,我该怎么办?

  

是否可以让它的宽度按我想要的重量进行缩放   高度

     

相对于宽度扩展?

PICTURE

enter image description here

XML LAYOUT

<LinearLayout
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:background="@drawable/foot_bg">

        <LinearLayout
                android:orientation="horizontal"
                android:layout_width="match_parent"
                android:layout_height="0dp" 
                android:gravity="center_horizontal" 
                android:layout_weight="1">

            <LinearLayout
                    android:orientation="vertical"
                    android:layout_width="0dp"
                    android:layout_height="match_parent" 
                    android:layout_weight="1" 
                    android:gravity="center">

                <ImageView
                        android:layout_width="70dp"
                        android:layout_height="70dp"
                        android:id="@+id/imageView"
                        android:src="@drawable/ic_sleepmode" 
                        android:scaleType="matrix" 
                        android:layout_weight="1"/>

                <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="Sleep Mode"
                        android:id="@+id/textView3" 
                        android:textColor="#ffffff" 
                        android:textSize="10sp"/>               
            </LinearLayout>

            <LinearLayout android:orientation="vertical" 
                          android:layout_width="0dp" 
                          android:layout_height="match_parent"
                          android:layout_weight="1" 
                          android:id="@+id/linearLayout2" 
                          android:gravity="center">

                <ImageView
                        android:layout_width="70dp"
                        android:layout_height="70dp"
                        android:id="@+id/imageView2" 
                        android:layout_gravity="center_horizontal"
                        android:src="@drawable/ic_temp"/>
                <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="Temperature"
                        android:id="@+id/textView4" 
                        android:textColor="#ffffff" 
                        android:textSize="10sp"/>
            </LinearLayout>

            <LinearLayout android:orientation="vertical" 
                          android:layout_width="0dp" 
                          android:layout_height="match_parent"
                          android:layout_weight="1"
                          android:id="@+id/linearLayout5" 
                          android:gravity="center">

                <ImageView android:layout_width="70dp" 
                           android:layout_height="70dp" 
                           android:id="@+id/imageView5"
                           android:layout_gravity="center_horizontal" 
                           android:src="@drawable/ic_tracking"/>

                <TextView android:layout_width="wrap_content" 
                          android:layout_height="wrap_content"
                          android:text="Tracking Mode" 
                          android:id="@+id/textView7" 
                          android:textSize="10sp"
                          android:textColor="#ffffff"/>
            </LinearLayout>

            <LinearLayout android:orientation="vertical" 
                          android:layout_width="0dp" 
                          android:layout_height="match_parent"
                          android:layout_weight="1" 
                          android:id="@+id/linearLayout6" 
                          android:gravity="center">

                <ImageView android:layout_width="70dp" 
                           android:layout_height="70dp" 
                           android:id="@+id/imageView6"
                           android:layout_gravity="center_horizontal" 
                           android:src="@drawable/ic_settings"/>

                <TextView android:layout_width="wrap_content" 
                          android:layout_height="wrap_content"
                          android:text="Settings" 
                          android:id="@+id/textView8" 
                          android:textSize="10sp"
                          android:textColor="#ffffff"/>
            </LinearLayout>

        </LinearLayout>

        <LinearLayout android:orientation="vertical" 
                      android:layout_width="match_parent"
                      android:layout_height="0dp"
                      android:layout_weight="1" 
                      android:id="@+id/linearLayout" 
                      android:gravity="center">

            <ToggleButton
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="New ToggleButton"
                    android:id="@+id/tgbPower" 
                    android:layout_gravity="center_horizontal" 
                    android:checked="false"/>
        </LinearLayout>

    </LinearLayout>

1 个答案:

答案 0 :(得分:0)

修改

尝试此操作以检查imageview是否使用权重调整大小:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="0dp"
   android:background="@drawable/foot_bg"
   android:orientation="vertical"
   android:weightSum="1" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="0.5"
    android:gravity="center_horizontal"
    android:orientation="horizontal"
    android:weightSum="1" >

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="0.25"
        android:weightSum="1"
        android:gravity="center"
        android:orientation="vertical" >

        <ImageView
            android:id="@+id/imageView"
            android:layout_width="wrap_content"
            android:layout_height="0dip"
            android:layout_weight="0.8"
            android:scaleType="matrix"
            android:src="@drawable/ic_sleepmode" />

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="0dip"
            android:layout_weight="0.2"
            android:text="Sleep Mode"
            android:textColor="#ffffff"
            android:textSize="10sp" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="0.25"
        android:weightSum="1"
        android:gravity="center"
        android:orientation="vertical" >

        <ImageView
            android:id="@+id/imageView2"
            android:layout_width="wrap_content"
            android:layout_height="0dip"
            android:layout_weight="0.8"
            android:layout_gravity="center_horizontal"
            android:src="@drawable/ic_temp" />

        <TextView
            android:id="@+id/textView4"
            android:layout_width="wrap_content"
            android:layout_height="0dip"
            android:layout_weight="0.2"
            android:text="Temperature"
            android:textColor="#ffffff"
            android:textSize="10sp" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout5"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="0.25"
        android:weightSum="1"
        android:gravity="center"
        android:orientation="vertical" >

        <ImageView
            android:id="@+id/imageView5"
            android:layout_width="wrap_content"
            android:layout_height="0dip"
            android:layout_weight="0.8"
            android:layout_gravity="center_horizontal"
            android:src="@drawable/ic_tracking" />

        <TextView
            android:id="@+id/textView7"
            android:layout_width="wrap_content"
            android:layout_height="0dip"
            android:layout_weight="0.2"
            android:text="Tracking Mode"
            android:textColor="#ffffff"
            android:textSize="10sp" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout6"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="0.25"
        android:weightSum="1"
        android:gravity="center"
        android:orientation="vertical" >

        <ImageView
            android:id="@+id/imageView6"
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:layout_gravity="center_horizontal"
            android:src="@drawable/ic_settings" />

        <TextView
            android:id="@+id/textView8"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Settings"
            android:textColor="#ffffff"
            android:textSize="10sp" />
    </LinearLayout>
</LinearLayout>

<LinearLayout
    android:id="@+id/linearLayout"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="0.5"
    android:gravity="center"
    android:orientation="vertical" >

    <ToggleButton
        android:id="@+id/tgbPower"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:checked="false"
        android:text="New ToggleButton" />
</LinearLayout>

</LinearLayout>