Android水平布局(水平方向)使得下一个TextView在第一个文本的长度增加时不可见。如果第一个文本视图长度超过一行,则剩余的文本视图将不可见。我只想环绕文本,即,如果第一个textview的长度增加,剩下的视图应该在第一个视图下。
我可以在不以编程方式更改方向的情况下实现吗?
我的代码如下:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<com.mikhaellopez.circularimageview.CircularImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_margin="15dp"
android:scaleType="centerCrop"
app:civ_border_color="@color/colorAccent"
app:civ_border_width="5dp"
app:civ_border="true"
android:src="@drawable/user"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="80dp"
android:layout_marginStart="80dp"
android:layout_marginEnd="35dp"
android:layout_marginRight="35dp"
android:layout_marginTop="15dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_name"
android:maxLines="2"
android:textColor="@android:color/black"
android:textSize="16sp"
android:ellipsize="end"
android:layout_margin="3dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_margin="3dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_name"
android:ellipsize="end"
android:maxLines="1"
android:textSize="14sp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/period"
android:textSize="16sp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="8dp"
android:layout_marginStart="8dp"
android:layout_marginRight="8dp"
android:layout_marginEnd="8dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/views"
android:textSize="14sp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/period"
android:textSize="16sp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="8dp"
android:layout_marginStart="8dp"
android:layout_marginRight="8dp"
android:layout_marginEnd="8dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hoursago"
android:textSize="14sp"/>
</LinearLayout>
</LinearLayout>
<ImageButton
android:id="@+id/popup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|center"
android:background="@null"
android:clickable="true"
android:padding="5dp"
android:layout_margin="5dp"
android:layout_centerInParent="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:src="@drawable/ic_overflow_grey_24dp" />
</RelativeLayout>
我将屏幕设为
答案 0 :(得分:1)
尝试将以下内容添加到linearLayout
android:weightSum="1"
然后在每个TextView中添加允许它们存在多少。
android:layout_weight="your value here"
一个例子可能是
android:layout_weight="0.2"
现在允许填充20%的linearLayout。
答案 1 :(得分:0)
您可以通过将LinearLayout Weights指定为代码
进行归档<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="horizontal"
xmlns:android="http://schemas.android.com/apk/res/android">
<com.mikhaellopez.circularimageview.CircularImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_margin="15dp"
android:scaleType="centerCrop"
app:civ_border_color="@color/colorAccent"
app:civ_border_width="5dp"
app:civ_border="true"
android:src="@drawable/user"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="80dp"
android:layout_marginStart="80dp"
android:layout_marginEnd="35dp"
android:layout_marginRight="35dp"
android:layout_marginTop="15dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_name"
android:maxLines="2"
android:textColor="@android:color/black"
android:textSize="16sp"
android:ellipsize="end"
android:layout_margin="3dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_margin="3dp"
android:weightSum="8">
<TextView
android:layout_weight="2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="StramTube"
android:ellipsize="end"
android:maxLines="1"
android:textSize="14sp"
/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="*"
android:textSize="16sp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="8dp"
android:layout_marginStart="8dp"
android:layout_marginRight="8dp"
android:layout_marginEnd="8dp"
android:layout_weight="1"/>
<TextView
android:layout_weight="2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="view"
android:textSize="14sp"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="*"
android:textSize="16sp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="8dp"
android:layout_marginStart="8dp"
android:layout_marginRight="8dp"
android:layout_marginEnd="8dp"
android:layout_weight="1"/>
<TextView
android:layout_weight="2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Hours ago"
android:textSize="14sp"/>
</LinearLayout>
</LinearLayout>
<ImageButton
android:id="@+id/popup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|center"
android:background="@null"
android:clickable="true"
android:padding="5dp"
android:layout_margin="5dp"
android:layout_centerInParent="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:src="@drawable/ic_overflow_grey_24dp" />