我正在努力调整这个特殊布局但无法正确设置。
任何人都可以帮我解决这个问题。
我需要完整的行布局,如下所示:
这就是我现在所拥有的:
<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" />
我希望按钮对于线性layoyuts都居中,而长文本应该是marquee。
问题是如果我将长文本视图设置为fill_parent
按下按钮。
答案 0 :(得分:2)
将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>
答案 1 :(得分:0)
您可以使用此
<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>
我希望这会对你有所帮助。