带有文本视图和按钮对齐的线性布局
Linear layout with textview and button alignment
我正在努力对齐这个特殊的布局,但无法正确设置它。
谁能帮我解决这个问题。
我需要如下所示的行布局:
这是我现在拥有的:
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:orientation="horizontal" >
<TextView
android:id="@+id/txtTitle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dip"
android:layout_weight="1"
android:ellipsize="marquee"
android:gravity="center_vertical"
android:singleLine="true"
android:textSize="20sp" />
<TextView
android:id="@+id/txtadd"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="25dip"
android:layout_weight="1"
android:ellipsize="marquee"
android:singleLine="true"
android:textSize="18sp" />
</LinearLayout>
<TextView
android:id="@+id/txtLongDesc"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dip"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center_vertical"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:singleLine="true"
android:textColor="@color/blue_header"
android:textSize="16sp" />
</LinearLayout>
<ImageView
android:id="@+id/btndelete"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_gravity="right"
android:layout_toRightOf="@+id/txtadd"
android:layout_weight="1"
android:scaleType="fitEnd"
android:src="@drawable/ic_menu_delete" />
我希望按钮在线性布局中居中,长文本应该是选取框。
问题是如果我将长文本视图设置为 fill_parent
它按下按钮。
使用 LinearLayout
和 weight
属性:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/txtTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:gravity="center_vertical"
android:singleLine="true"
android:textSize="20sp" />
<TextView
android:id="@+id/txtadd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:singleLine="true"
android:textSize="18sp" />
</LinearLayout>
<TextView
android:id="@+id/txtLongDesc"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center_vertical"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:singleLine="true"
android:textColor="@color/blue_header"
android:textSize="16sp" />
</LinearLayout>
<ImageView
android:id="@+id/btndelete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/ic_menu_delete" />
</LinearLayout>
你可以使用这个
<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="match_parent"
android:orientation="horizontal"
android:weightSum="1" >
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.80"
android:orientation="vertical" >
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/txtTitle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ellipsize="marquee"
android:gravity="center_vertical"
android:singleLine="true"
android:text="Lorem ipsum"
android:textSize="20sp" />
<TextView
android:id="@+id/txtadd"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ellipsize="marquee"
android:singleLine="true"
android:text="Lorem ipsum"
android:textSize="18sp" />
</TableRow>
<TextView
android:id="@+id/txtLongDesc"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center_vertical"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:singleLine="true"
android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit"
android:textSize="16sp" />
</LinearLayout>
<ImageView
android:id="@+id/btndelete"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.20"
android:src="@drawable/ic_launcher" />
</LinearLayout>
希望对您有所帮助。
我正在努力对齐这个特殊的布局,但无法正确设置它。
谁能帮我解决这个问题。
我需要如下所示的行布局:
这是我现在拥有的:
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:orientation="horizontal" >
<TextView
android:id="@+id/txtTitle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dip"
android:layout_weight="1"
android:ellipsize="marquee"
android:gravity="center_vertical"
android:singleLine="true"
android:textSize="20sp" />
<TextView
android:id="@+id/txtadd"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="25dip"
android:layout_weight="1"
android:ellipsize="marquee"
android:singleLine="true"
android:textSize="18sp" />
</LinearLayout>
<TextView
android:id="@+id/txtLongDesc"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dip"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center_vertical"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:singleLine="true"
android:textColor="@color/blue_header"
android:textSize="16sp" />
</LinearLayout>
<ImageView
android:id="@+id/btndelete"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_gravity="right"
android:layout_toRightOf="@+id/txtadd"
android:layout_weight="1"
android:scaleType="fitEnd"
android:src="@drawable/ic_menu_delete" />
我希望按钮在线性布局中居中,长文本应该是选取框。
问题是如果我将长文本视图设置为 fill_parent
它按下按钮。
使用 LinearLayout
和 weight
属性:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/txtTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:gravity="center_vertical"
android:singleLine="true"
android:textSize="20sp" />
<TextView
android:id="@+id/txtadd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:singleLine="true"
android:textSize="18sp" />
</LinearLayout>
<TextView
android:id="@+id/txtLongDesc"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center_vertical"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:singleLine="true"
android:textColor="@color/blue_header"
android:textSize="16sp" />
</LinearLayout>
<ImageView
android:id="@+id/btndelete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/ic_menu_delete" />
</LinearLayout>
你可以使用这个
<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="match_parent"
android:orientation="horizontal"
android:weightSum="1" >
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.80"
android:orientation="vertical" >
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/txtTitle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ellipsize="marquee"
android:gravity="center_vertical"
android:singleLine="true"
android:text="Lorem ipsum"
android:textSize="20sp" />
<TextView
android:id="@+id/txtadd"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ellipsize="marquee"
android:singleLine="true"
android:text="Lorem ipsum"
android:textSize="18sp" />
</TableRow>
<TextView
android:id="@+id/txtLongDesc"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center_vertical"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:singleLine="true"
android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit"
android:textSize="16sp" />
</LinearLayout>
<ImageView
android:id="@+id/btndelete"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.20"
android:src="@drawable/ic_launcher" />
</LinearLayout>
希望对您有所帮助。