2012-02-21 85 views
18

的權利我有一個佈局對齊ImageView的佈局Android的

<?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

呈現在第一圖像現在發生等,但我想呈現像在第二圖像完全右對齊。任何幫助都是有用的。

期待您的回覆。 謝謝。

+1

誰提到的RelativeLayout爲相當多的解決方案的人有正確的解決方案。只是告訴我們不工作不會幫助你自己或任何人。 – Maurice 2012-02-21 08:47:33

+0

@Maurice謝謝,但對我來說,RelativeLayout的答案並不成立,這就是我所回答的。 – Mukunda 2012-02-21 09:08:24

回答

43
<?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

+0

謝謝。完美地工作。 – Mukunda 2012-02-21 09:16:45

+0

如果imageview具有固定寬度,則也可以在imageview上使用layout_weight。只需在textview上設置值爲1的layout_weight即可。 – 2017-01-13 17:16:14

11

使用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> 
+1

感謝不起作用。 – Mukunda 2012-02-21 07:59:50

3
<?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

謝謝,但這是行不通的。 – Mukunda 2012-02-21 07:50:52

0

要麼使用的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 
+0

感謝不起作用。 – Mukunda 2012-02-21 08:00:07

23

採用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> 
+0

謝謝,這很好! – AVEbrahimi 2013-02-03 11:21:24

+0

完美的解決方案! – Surekha 2017-11-09 19:13:52

0

你應該在XML中添加這樣的事情......你想要右對齊對象...

android:layout_alignParentRight="true" 
android:layout_marginRight="..dp" 
+0

謝謝,但這不會是可能的,因爲你將如何爲不同的屏幕設置密度像素。 – Mukunda 2012-02-21 08:01:13

+0

通過創建文件夾/大,/ xlarge,/小布局爲不同的屏幕... – timonvlad 2012-02-21 08:16:24

3

嘗試使用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> 
+0

謝謝這也是行不通的。 – Mukunda 2012-02-21 07:59:30