그래서 여러 위젯이 포함 된 사용자 정의 헤더보기가 있습니다. 제 생각은 ImageView (아이콘)가 부모 시작에 정렬되고 ImageButton (메뉴)가 부모 끝에 정렬되는 프레임 레이아웃을 갖는 것입니다. 또한 ImageView 오른쪽의 TextView (제목). 항상 표시되어야합니다. 이미지 뷰 (아이콘) 오른쪽 텍스트 그것의 오른쪽에 다른 위젯의 가시성을 기반으로 확장해야 텍스트 뷰 (제목)이 있어야으로RelativeLayout 안의 Android TextView가 제대로 작동하지 않습니다.
..
그래서 왼쪽에서 오른쪽으로 순서가 같이 간다 ImageView (배터리) - ImageButton (메뉴)문제는 TextView의 텍스트가 오른쪽의 위젯 뒤에 표시된다는 점입니다. 이 이미지에 보이는 것과 같습니다.
여기 내 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" />
모든 아이디어, 왜 그 위젯 뒤에이 텍스트를 간다 않습니다 :3210
그리고 이것은 실제 XML은 무엇입니까? 1 개 대신 2 개의 행으로 표시되거나 너무 길면 ... 표시가 나타나거나 베이어리 및 읽지 않은 메시지가 표시되는 경우 크기를 조정하려고합니다.
textview에 속성을 하나 더 추가합니다. android : layout_toLeftOf = "@ + id/imgSubMenu" –
아! ..감사합니다! – user8789149
'textViewDName'을 레이아웃의 맨 아래로 이동하고'android : layout_toStartOf = "@ id/unreadMessages"를 추가하십시오. –