我正在创建包含以下内容的项目列表的应用程序:
|-----------------------------------------------------|
|TextView--View--View--View---------------------------|
|-----------------------------------------------------|
|-----------------------------------------------------|
|TextViewTextViewTextView--View--View--View-----------|
|-----------------------------------------------------|
|-----------------------------------------------------|
|TextViewTextViewTextViewTextView..--View--View--View-|
|-----------------------------------------------------|
但在我的第三行中,TextView推送了三个视图:
|--------------------------------------------------|
|TextViewTextViewTextViewTextViewTextView--View--Vi|
|--------------------------------------------------|
我的xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/TextViewSubject"
android:text="SUBJECT"
android:layout_weight="1"
android:singleLine="true"
android:ellipsize="end"
android:layout_alignParentLeft="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<View
android:background="#FF0000"
android:layout_weight="0"
android:layout_width="10dp"
android:layout_height="10dp"/>
<View
android:layout_weight="0"
android:background="#00FF00"
android:layout_width="10dp"
android:layout_height="10dp"/>
<View
android:layout_weight="0"
android:background="#0000FF"
android:layout_width="10dp"
android:layout_height="10dp"/>
</LinearLayout>
</LinearLayout>
我也试过使用RelativeLayout,但是这样3个视图总是对齐右父。我希望3个视图跟在textview之后,并没有被推离屏幕。
这可能吗?任何帮助将不胜感激。
答案 0 :(得分:1)
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:text="largeTextlargeTextlargeTextlargeTextlargeTextlargeText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView"
android:ellipsize="end"
android:maxLines="1"
android:paddingRight="95dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/textView"
android:orientation="horizontal">
<View
android:background="@android:color/black"
android:layout_width="30dp"
android:layout_height="30dp"
android:id="@+id/button3" />
<View
android:background="@android:color/black"
android:layout_width="30dp"
android:layout_height="30dp"
android:id="@+id/button2" />
<View
android:background="@android:color/black"
android:layout_width="30dp"
android:layout_height="30dp"
android:id="@+id/button" />
</LinearLayout>
</RelativeLayout>
答案 1 :(得分:0)
在第二个linearLayout中添加android:weightSum=4
并在每个子视图中生成android:layout_weight=1
并确保在子视图中将android:layout_width
设置为0dp
答案 2 :(得分:0)
试试这个,希望这就是你想要的。我刚刚删除了重量线。祝好运
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/TextViewSubject"
android:text="SUBJECT"
android:singleLine="true"
android:ellipsize="end"
android:layout_alignParentLeft="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<View
android:background="#FF0000"
android:layout_width="10dp"
android:layout_height="10dp"/>
<View
android:background="#00FF00"
android:layout_width="10dp"
android:layout_height="10dp"/>
<View
android:background="#0000FF"
android:layout_width="10dp"
android:layout_height="10dp"/>
</LinearLayout>
</LinearLayout>