2014-01-09 48 views
2

到目前爲止,這是我的佈局底部對齊與ImageView的一個TextView在GridView

Layout

我試圖把TextView的在我的ImageView的底部(不能低於它)的結果。 textview應該與ImageView的BottomAlign對齊。

我的ImageView的圖像是一個正方形。如果textview的內容長度超過了我的ImageView的寬度,則內容應該延續到下一行。

目前我不在乎ImageView的內容是否沒有按比例縮放(即被拉伸等)。

這是我有XML:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    android:padding="5dp"> 

    <ImageView 
     android:id="@+id/iconItem" 
     android:layout_width="80dp" 
     android:layout_height="80dp" 
     android:layout_alignBottom="@+id/textItem" 
     android:scaleType="fitXY" 
     android:padding="0dip" 
     android:src="@drawable/shout_ic"/> 
    <TextView 
     android:id="@id/textItem" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:textAppearance="?android:attr/textAppearanceSmall" 
     android:textSize="11sp" 
     android:text="Motorcycles" 
     android:textColor="#FFF" 
     android:background="#8888"/> 
</RelativeLayout> 

我如何能實現我想要的結果呢?

編輯1:

我想我想提出一個進步......(但不完全像我心目中

image is still too small

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    android:padding="5dp"> 

    <ImageView 
     android:id="@+id/iconItem" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:scaleType="fitXY" 
     android:padding="0dip" 
     android:src="@drawable/thumbqoo_launcher_ic"/> 
    <TextView 
     android:id="@+id/textItem" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:layout_alignBottom="@+id/iconItem" 
     android:textAppearance="?android:attr/textAppearanceSmall" 
     android:textSize="11sp" 
     android:text="Motorcycles" 
     android:textColor="#FFF" 
     android:background="#8888"/> 
</RelativeLayout> 
+0

的寬度如果你希望你的TextView有一個固定的寬度,你爲什麼使用fill_parent?嘗試將其寬度設置爲80dp,如ImageView。 – npace

回答

4

你的父母佈局更改爲FrameLayout定位vertical這樣的

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:orientation="vertical" 
android:padding="5dp" > 

<ImageView 
    android:id="@+id/iconItem" 
    android:layout_width="80dp" 
    android:layout_height="80dp" 
    android:padding="0dip" 
    android:scaleType="fitXY" 
    android:src="@drawable/ic_launcher" /> 

<TextView 
    android:id="@+id/textItem" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:background="#8888" 
    android:gravity="center" 
    android:layout_gravity="bottom" 
    android:text="Motorcycles" 
    android:textAppearance="?android:attr/textAppearanceSmall" 
    android:textColor="#FFF" 
    android:textSize="11sp" /> 

</FrameLayout> 
+0

嗨,也許我錯了。我的意思是將textView放在ImageView的頂部,只有文本視圖的底部與imageview的底部對齊。您的解決方案似乎將textview放置在圖像視圖下方。 – Jeremy

+0

看看我的新答案它的工作正常..使用框架佈局 –

+0

讓我試試這個 – Jeremy

0
<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    android:padding="5dp" > 

    <ImageView 
     android:id="@+id/iconItem" 
     android:layout_width="80dp" 
     android:layout_height="80dp" 
     android:layout_alignBottom="@+id/textItem" 
     android:padding="0dip" 
     android:scaleType="fitXY" 
     android:src="@drawable/shout_ic" /> 

    <TextView 
     android:id="@id/textItem" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:background="#8888" 
     android:gravity="center" 
     android:text="Motorcycles" 
     android:textAppearance="?android:attr/textAppearanceSmall" 
     android:textColor="#FFF" 
     android:textSize="11sp" android:layout_alignBottom="@id/iconItem"/> 

</RelativeLayout> 
1

刪除此行android:layout_alignBottom="@+id/textItem"從您的ImageView,並嘗試添加行android:layout_alignBottom="@+id/iconItem"ImageViewTextView

設置寬度您排佈置

1
http://i.stack.imgur.com/HUY4o.png Check the sample image... 
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/album_item" 
     android:layout_width="match_parent" 
     android:layout_height="fill_parent" 
     android:orientation="vertical" > 

    <ImageView 
     android:id="@+id/cover" 
     android:layout_width="148dp" 
     android:layout_height="148dp" 
     android:src="@drawable/empty_photo" /> 

    <LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignBottom="@+id/cover" 
    android:background="#70000000" 
    android:padding="6dp" > 

    <TextView 
     android:id="@+id/title" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textColor="@color/white" 
     android:textSize="12sp" 
     android:textStyle="bold" /> 
     </LinearLayout> 
    </RelativeLayout>