Выравнивание ImageView справа от макета Android - PullRequest
20 голосов
/ 21 февраля 2012

У меня есть макет

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#FFFFFF">

    <TextView android:id="@+id/groupname"
         android:paddingLeft="50px"
         android:textSize="16px"
         android:background="#FFFFFF"
         android:textColor="#000000"
         android:textStyle="normal"
         android:layout_width="wrap_content"
         android:layout_height="50px"/>
     <ImageView
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_gravity="right"
             android:layout_marginRight="6dp"
             android:background="#ffffff" 
             android:src="@drawable/sort"/>

</LinearLayout>

Rendering like this presently I want to render like this

Рендеринг происходит сейчас, как на первом изображении, но я хотел сделать рендеринг, как на втором изображении, полностью выровненный по правому краю. любая помощь будет полезна.

Ждем вашего ответа. спасибо.

Ответы [ 7 ]

47 голосов
/ 21 февраля 2012
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#FFFFFF">

    <TextView android:id="@+id/groupname"
         android:paddingLeft="50dp"
         android:textSize="16dp"
         android:textColor="#000000"
         android:textStyle="normal"
         android:layout_width="fill_parent"
         android:layout_height="50dp"
         android:layout_weight="0.9"
         android:background="@color/black"/>
     <ImageView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_gravity="right"
             android:background="#ffffff" 
             android:src="@drawable/checkin"
             android:layout_weight="0.1"/>

</LinearLayout>

Попробуйте, надеюсь, это поможет.

Prview1 enter image description here

28 голосов
/ 21 февраля 2012

использовать android: layout_weight = "1" для просмотра текста

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="horizontal"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:background="#FFFFFF">

  <TextView android:id="@+id/groupname"
     android:paddingLeft="50px"
     android:textSize="16px"
     android:layout_weight="1"
     android:background="#FFFFFF"
     android:textColor="#000000"
     android:textStyle="normal"
     android:layout_width="0dp"
     android:layout_height="50px"/>
 <ImageView
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_gravity="right"
         android:layout_marginRight="6dp"
         android:background="#ffffff" 
         android:src="@drawable/sort"/>

</LinearLayout>
12 голосов
/ 21 февраля 2012

Используйте RelativeLayout в качестве родительского макета.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent">

    <TextView android:id="@+id/groupname"
              android:paddingLeft="50px"
              android:textSize="16px"
              android:textColor="#000000"
              android:textStyle="normal"
              android:layout_width="wrap_content"
              android:layout_height="50px"/>

    <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_marginRight="6dp"
            android:src="@drawable/ncc"/>

</RelativeLayout>
3 голосов
/ 21 февраля 2012

Попробуйте с помощью RelativeLayout.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#FFFFFF">

    <TextView
        android:id="@+id/groupname"
        android:layout_width="wrap_content"
        android:layout_height="50px"
        android:background="#FFFFFF"
        android:paddingLeft="50px"
        android:textColor="#000000"
        android:textSize="16px"
        android:textStyle="normal" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:background="#ffffff"
        android:src="@drawable/ic_launcher" />

</RelativeLayout>
3 голосов
/ 21 февраля 2012
<?xml version="1.0" encoding="utf-8"?>

<TextView android:id="@+id/groupname"
     android:paddingLeft="50px"
     android:textSize="16px"
     android:background="#FFFFFF"
     android:textColor="#000000"
     android:textStyle="normal"
     android:layout_width="wrap_content"
     android:layout_height="50px"/>
 <ImageView
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_gravity="right"
         android:layout_marginRight="6dp"
         android:background="#ffffff"
         android:layout_alignParentRight="true" 
         android:src="@drawable/sort"/>

0 голосов
/ 21 февраля 2012

Вы должны добавить такую ​​вещь в xml ... к объекту, который хотите выровнять по правому краю ...

android:layout_alignParentRight="true" 
android:layout_marginRight="..dp"
0 голосов
/ 21 февраля 2012

Либо используйте RelativeLayout и установите свойство TextView следующим образом:

layout_width=fill_parent
layout_height=wrap_content
left_of="@+id/imgView"

и для ImageView

layout_width=wrap_content
layout_height=wrap_content
alignparentright=true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...