繁体   English   中英

底部将文本视图与GridView中的ImageView对齐

[英]Bottom align a textview with an ImageView in a GridView

到目前为止,这是我的布局的结果

布局

我正在尝试将textview放在ImageView的底部(不在其下方)。 文本视图应与ImageView底部对齐。

我的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:

我认为我正在进步...(但不完全符合我的想法)

图像仍然太小

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

像这样将您的父布局更改为vertical方向的FrameLayout

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

从您的imageview中删除以下行android:layout_alignBottom="@+id/textItem" ,然后尝试在TextView添加以下行android:layout_alignBottom="@+id/iconItem"

ImageView的宽度设置为行布局的宽度

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM