美好的一天!我试图实现一种特定的布局。我希望有人能给我一个如何正确做到的提示。
所以,在我的布局中,我在一个水平方向的LinearLayout中有两个TextView。第一个TextView包含公司的名称,第二个TextView包含许多与之关联的项目。
我希望我的布局表现得像this.
我目前的布局如this。
以下是布局的具体代码:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/contractor_item_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:text="Gem Seeker Company and Supplies in"
android:textColor="@color/list_title"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="(0)"
android:textSize="16sp"
android:textStyle="bold"
android:maxLines="1"
android:layout_marginStart="4dp"
android:textColor="@color/space_gray_01"/>
</LinearLayout>
下面是完整的布局代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:background="@android:color/white"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/contractor_item_layout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:orientation="horizontal">
<ImageView
android:id="@+id/contractor_item_avatar"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:background="@color/space_gray_01"
android:contentDescription="@string/image_description"
android:src="@drawable/ic_user_light" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:id="@+id/contractor_item_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/contractor_item_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:text="Gem Seeker Company and Supplies in"
android:textColor="@color/list_title"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="(0)"
android:textSize="16sp"
android:textStyle="bold"
android:maxLines="1"
android:layout_marginStart="4dp"
android:textColor="@color/space_gray_01"/>
</LinearLayout>
<TextView
android:id="@+id/contractor_item_address"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:text="@string/text_no_address"
android:textColor="@color/list_subtitle"
android:textSize="14sp" />
<TextView
android:id="@+id/contractor_item_phone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/text_no_contact"
android:textColor="@color/list_subtitle"
android:textSize="14sp" />
</LinearLayout>
</LinearLayout>
<ImageView
android:id="@+id/contractor_item_show"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginTop="8dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/image_description"
android:src="@drawable/ic_show"
android:tint="@color/space_gray_02" />
</LinearLayout>
答案 0 :(得分:1)
你可以尝试这个布局,你想调整视图的孩子只需给予重量1和宽度odp它就可以正常工作。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/contractor_item_name"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:text="Gem Seeker Company and Supplies in dddddddddddds"
android:textColor="@color/list_title"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="(0)"
android:textSize="16sp"
android:textStyle="bold"
android:maxLines="1"
android:layout_marginStart="4dp"
android:textColor="@color/space_gray_01"/>
</LinearLayout>
完成布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:background="@android:color/white"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/contractor_item_layout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:orientation="horizontal">
<ImageView
android:id="@+id/contractor_item_avatar"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:background="@color/space_gray_01"
android:contentDescription="@string/image_description"
android:src="@drawable/ic_user_light" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:id="@+id/contractor_item_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/contractor_item_name"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:text="Gem Seeker Company and Supplies in"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="(0)"
android:textSize="16sp"
android:textStyle="bold"
android:maxLines="1"
android:layout_marginStart="4dp"
android:textColor="@color/space_gray_01"
/>
</LinearLayout>
<TextView
android:id="@+id/contractor_item_address"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:text="@string/text_no_address"
android:textColor="@color/list_subtitle"
android:textSize="14sp" />
<TextView
android:id="@+id/contractor_item_phone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/text_no_contact"
android:textColor="@color/list_subtitle"
android:textSize="14sp" />
</LinearLayout>
</LinearLayout>
<ImageView
android:id="@+id/contractor_item_show"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginTop="8dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/image_description"
android:src="@drawable/ic_show"
android:tint="@color/space_gray_02" />
</LinearLayout>
答案 1 :(得分:0)
试试这个
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/contractor_item_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:maxLength="10" // set ellipsize as per your reqiement
android:text="Gem Seeker Company and Supplies in"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="(0)"
android:textSize="16sp"
android:textStyle="bold"
android:maxLines="1"
android:layout_marginStart="4dp"
/>
</LinearLayout>
答案 2 :(得分:0)
您需要在水平文字视图中使用 layout_weight 属性。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:weightSum="2"
android:orientation="horizontal">
<TextView
android:id="@+id/contractor_item_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:layout_weight="0.7"
android:text="Gem Seeker Company and Supplies in"
android:textColor="@android:color/black"
android:textSize="16sp" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:maxLines="1"
android:layout_weight="1.3"
android:text="(0)"
android:textColor="@android:color/black"
android:textSize="16sp"
android:textStyle="bold"
tools:ignore="RtlCompat" />
</LinearLayout>
布局代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:background="@android:color/white"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/contractor_item_layout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:orientation="horizontal">
<ImageView
android:id="@+id/contractor_item_avatar"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:background="@color/colorAccent"
android:contentDescription="@string/app_name"
android:src="@drawable/ic_back_test"
tools:ignore="RtlCompat" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:id="@+id/contractor_item_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:weightSum="2"
android:orientation="horizontal">
<TextView
android:id="@+id/contractor_item_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:layout_weight="0.7"
android:text="Gem Seeker Company and Supplies in"
android:textColor="@android:color/black"
android:textSize="16sp" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:maxLines="1"
android:layout_weight="1.3"
android:text="(0)"
android:textColor="@android:color/black"
android:textSize="16sp"
android:textStyle="bold"
tools:ignore="RtlCompat" />
</LinearLayout>
<TextView
android:id="@+id/contractor_item_address"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:text="Address"
android:textColor="@color/colorAccent"
android:textSize="14sp" />
<TextView
android:id="@+id/contractor_item_phone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Contact"
android:textColor="@color/colorAccent"
android:textSize="14sp" />
</LinearLayout>
</LinearLayout>
<ImageView
android:id="@+id/contractor_item_show"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginTop="8dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/app_name"
android:src="@drawable/common_ic_googleplayservices"
android:tint="@color/colorAccent" />
</LinearLayout>
答案 3 :(得分:0)
您需要在水平线性布局中声明权重并将布局权重分配给内部小部件