如何为Android中的视图提供特定的空间量?

时间:2017-10-08 08:01:59

标签: android

如何为TextView和ImageButton设置重力的最佳方法是什么?我希望这些在水平位置,TextView应占用90%的空间,ImageButton占10%。

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView" />

    <ImageButton
        android:id="@+id/imageButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/info"/>


</LinearLayout>

3 个答案:

答案 0 :(得分:1)

您可以将布局属性用作wieghtSum和布局权重。您可以使用以下代码

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_wightSum="1" >

<TextView
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView"
    android:layout_weight=".9" />

<ImageButton
    android:id="@+id/imageButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/info"
     android:layout_weight=".1"
     />

我希望能解决你的问题..

答案 1 :(得分:0)

试试这个..使用android:layout_weight=".3"使textview宽度为 0dp ,就像这样android:layout_width="0dp"

<LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/textView"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight=".3"
                android:text="TextView" />

            <ImageButton
                android:id="@+id/imageButton"
                android:layout_width="0dp"
                android:layout_weight=".1"
                android:layout_height="match_parent"
                android:src="@android:drawable/btn_dropdown"/>


        </LinearLayout>

答案 2 :(得分:0)

查看另一个现在可以使用约束布局的选项。

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="16dp">


    <Button
        android:id="@+id/btnThird"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginBottom="8dp"
        android:layout_marginLeft="8dp"
        android:layout_marginStart="8dp"
        android:text="Hello"
        app:layout_constraintHorizontal_weight=".8"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toLeftOf="@+id/btnTwoThirds" />

    <Button
        android:id="@+id/btnTwoThirds"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="Wordl"
        app:layout_constraintBottom_toBottomOf="@+id/btnThird"
        app:layout_constraintHorizontal_weight="2"
        app:layout_constraintLeft_toRightOf="@+id/btnThird"
        app:layout_constraintRight_toRightOf="parent" />
</android.support.constraint.ConstraintLayout>