2014-12-04 69 views
1

我是Android新手。将图片与Android中的图片对齐

如何使用相对布局将textView与ImageView的中心对齐?

我尝试下面的代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context="${relativePackage}.${activityClass}" > 

<ImageView 
    android:id="@+id/item_icon" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:adjustViewBounds="true" 
    android:maxHeight="15dp" 
    android:maxWidth="15dp" 
    android:src="@drawable/icon" /> 

<TextView 
    android:id="@+id/item_counter" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_toRightOf="@+id/item_icon" 
    android:text="Counter" /> 

</RelativeLayout> 

但文字不与画面的中心对齐。

谢谢!

+1

最好的方法是将图像作为复合可绘制添加到TextView中,而不是使用ImageView。即:'android:drawableLeft =“@ drawable/icon”'。 – 2014-12-05 08:14:32

回答

0

使用layout_alignTop和layout_alignBottom将文本视图的顶部和底部对齐到imageview。然后确保文本具有中心重力。这应该将其与中间对齐。 (我相信它应该是默认情况下的权重,但是强迫它永远不会受伤)。

0

相对布局的孩子可以使用:

android:layout_centerInParent="true" 
0

你只需要调整您的imageviews顶部和底部的边框之间你的TextView。而且一定要将你的textview的重心居中,这样它才会集中在你的imageview中。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:tools="http://schemas.android.com/tools" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     tools:context="${relativePackage}.${activityClass}" > 

<ImageView 
    android:id="@+id/item_icon" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:adjustViewBounds="true" 
    android:maxHeight="15dp" 
    android:maxWidth="15dp" 
    android:src="@drawable/icon" /> 

<TextView 
    android:id="@+id/item_counter" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignBottom="@+id/item_icon" 
    android:layout_alignTop="@+id/item_icon" 
    android:gravity="center" 
    android:text="Counter" /> 

对于一个更好的方法,恕我直言,你的ImageView添加到您的TextView作为drawableLeft,所以,这将代表更多用户。