所以我有一个包含几个小部件的自定义标题视图。我的想法是让一个框架布局与ImageView(图标)对齐的父开始和ImageButton(菜单)对齐的父端。此外,ImageView右侧的TextView(标题)..应始终可见。
在ImageView(图标)的右侧,应该有一个TextView(标题),其文本应根据其右侧其他小部件的可见性进行扩展。
所以从左到右的顺序如下:ImageView(图标) - TextView(标题) - ImageView(未读消息) - ImageView(电池) - ImageButton(菜单)
问题是,TextView中的文本位于右侧的小部件后面,就像在此图像上可见:
这是我的xml预览:
这是实际的xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="58dp"
android:background="@color/view_controller_header">
<FrameLayout
android:id="@+id/frame"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_centerInParent="true"
android:layout_gravity="center"
android:layout_margin="10dp">
<ImageView
android:id="@+id/imageViewIC"
android:layout_width="@dimen/view_controller_header_icon_width"
android:layout_height="@dimen/view_controller_header_icon_height"
android:layout_gravity="center" />
<TextView
android:id="@+id/textViewKK"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:focusable="false"
android:gravity="center"
android:padding="10dp"
android:shadowColor="@color/text_shadow"
android:shadowDx="-1"
android:shadowDy="-1"
android:shadowRadius="1"
android:textColor="@color/main_text_color"
android:textSize="@dimen/view_controller_header_kk_texSize"
android:visibility="gone" />
<ProgressBar
android:id="@+id/progressBarVC"
style="?android:attr/progressBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:visibility="gone" />
</FrameLayout>
<TextView
android:id="@+id/textViewDName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_gravity="center"
android:layout_marginRight="@dimen/view_controller_header_margin2"
android:layout_toRightOf="@id/frame"
android:ellipsize="end"
android:fontFamily="sans-serif"
android:gravity="center|left"
android:maxLines="2"
android:textColor="@color/main_text_color"
android:textSize="17sp"
tools:text="This is the text that is too long .........." />
<ImageButton
android:id="@+id/imgSubMenu"
android:layout_width="50dp"
android:layout_height="match_parent"
android:layout_alignParentEnd="true"
android:layout_gravity="center"
android:background="?android:selectableItemBackground"
android:scaleType="center"
android:src="@drawable/ic_more_vert_white_24dp" />
<LinearLayout
android:id="@+id/bat"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_toStartOf="@id/imgSubMenu"
android:gravity="center"
android:orientation="horizontal">
<ImageView
android:id="@+id/imageViewBattery"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="3dp"
android:layout_weight="1"
android:scaleType="centerInside"
android:visibility="visible"
app:srcCompat="@drawable/ic_battery_full" />
<TextView
android:id="@+id/textViewBattery"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:visibility="visible"
tools:text="100%" />
</LinearLayout>
<TextView
android:id="@+id/unreadMessages"
android:layout_width="22dp"
android:layout_height="22dp"
android:layout_centerInParent="true"
android:layout_toStartOf="@id/bat"
android:background="@color/color_widget_security_back_red"
android:gravity="center"
android:textStyle="bold"
android:visibility="visible"
tools:text="2" />
任何想法,为什么这个文本落后于那些小部件?如果可以看到batery和未读消息,我希望它能够调整大小,比如它分成两行而不是一行,或者显示......如果它太长了......
答案 0 :(得分:0)
可能您忘记添加一个属性文本,如下所示:
<强>机器人:layout_toLeftOf 强>
<a href="{{ route($group.'.create')}}" > Add new </a>
根据您的要求,您需要从右到左显示文本图标和从左到右的菜单图标,但是您需要添加一个相对引用,而不是在左侧,因此它在右侧菜单图标上重叠