0

私は imageView と textView を収める必要がある小さな線形レイアウトを持っています。これがアプリを作成するためのひどい方法であることはわかっています。これが機能するかどうかをテストしようとしています。以下のコードは、textView ではなく、imageview のみを示しています。何か案は?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <LinearLayout
        android:layout_width="90dp"
        android:layout_height="90dp"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="TextView" />

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="0"
            android:src="@drawable/my_icon" />
    </LinearLayout>

</LinearLayout>
4

4 に答える 4

3

答えは、textView の重みを 0 に、imageView の重みを 1 にすることでした。このようにして、textView は完全に表示されましたが、必要なだけのスペースしか占有せず、imageView が残りのスペースを占有しました。パーフェクト1

于 2012-08-13T06:51:05.783 に答える
0

それはあなたがそれをどのように見せたいかによって異なります。LinearLayout を半分に分割する場合は、ImageView セットで

android:layout_weight="1"

LinearLayout 内のビューは、それらに比例してスペースを取得するlayout_weightため、ImageView にある場合layout_weight="0"、ビューの割合は 0 になります。

于 2012-08-13T06:29:05.597 に答える
0

次のように重みを使用する必要があります。

LinearLayout の android:layout_weight="2"

imageView および textView の layout_weight="1"

両方のビューがスペースの半分を占めるようにします

于 2012-08-13T06:42:07.790 に答える
0

これを試してください

<TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:text="TextView" />

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:src="@drawable/my_icon" />
于 2012-08-13T07:17:28.147 に答える