将imageview与上面的文本视图对齐

问题描述:

我想将我的imageview与上面的textview居中对齐,这里是我正在获取的图像。将imageview与上面的文本视图对齐

enter image description here

我需要的是这样的一个相对布局

<TextView 
    android:id="@+id/strength" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/hero_class" 
    android:textColor="#0095FF" 
    android:text="Strength" 
    android:textAppearance="?android:attr/textAppearanceMedium" /> 

<TextView 
    android:id="@+id/agility" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/hero_class" 
    android:layout_centerHorizontal="true" 
    android:text="Agility" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:textColor="#0095FF" /> 

<TextView 
    android:id="@+id/intl" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignBaseline="@+id/agility" 
    android:layout_alignBottom="@+id/agility" 
    android:layout_alignParentRight="true" 
    android:text="Intelligence" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:textColor="#0095FF" /> 

<ImageView 
    android:id="@+id/img_int" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentRight="true" 
    android:layout_alignTop="@+id/img_str" 
    android:src="@drawable/intelligence" /> 

<ImageView 
    android:id="@+id/img_agi" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignTop="@+id/img_int" 
    android:layout_centerHorizontal="true" 
    android:src="@drawable/agility" /> 

<ImageView 
    android:id="@+id/img_str" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/strength" 
    android:layout_alignParentLeft="true" 
    android:src="@drawable/strength" /> 

这是我做了什么,但问题是,我可以有中间的ImageView中心保持一致,但左,右一个与最右边对齐并且最左边不在上面的文本视图的中心

+0

所以wat的问题?继续...(我的意思是你尝试过自己的东西?) – Mohit

+0

你想要所有的东西在屏幕的中心? – Mohit

在layout.xml您可以使用此为每个文字+图片:

<TextView ... 
    android:text="The Text" 
    android:drawableBottom="@drawable/icon1" /> 

你能重复一次到的LinearLayout与水平方向

+0

,如果我需要在图像下方再次添加文字,我也想对齐上面的这两个文字 –

+0

此解决方案仅适用于一个文本和一个图像.. – JavaDM

您可以制作三个相对视图,每个视图都包含Textview和Imageview,其中一个位于另一个的下方父亲相对视图。 最后把这三个放在一个外部的相对视图中,按照你的喜好定位它们。

您可以使用LinearLayout具有android:orientation="horizontal"父布局。 然后使用三个LinearLayout每个包含TextViewImageView具有android:orientation="vertical"

见下面代码 -

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

     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:orientation="vertical" > 
      <TextView 
      android:id="@+id/strength" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/hero_class" 
      android:textColor="#0095FF" 
      android:text="Strength" 
      android:textAppearance="?android:attr/textAppearanceMedium" /> 
     <ImageView 
      android:id="@+id/img_agi" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignTop="@+id/img_int" 
      android:layout_centerHorizontal="true" 
      android:src="@drawable/agility" /> 
     </LinearLayout> 
    <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:orientation="vertical" > 
    TextView ImageView 

    </LinearLayout> 
    <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:orientation="vertical" > 
    TextView ImageView 

    </LinearLayout> 
    </LinearLayout> 

尝试创建与orietation三个线性布局垂直, 每个线性布局将包含的TextView和ImageView的重力中心

希望这有助于:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@android:color/black" > 

<RelativeLayout 
    android:id="@+id/reltive1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" > 

    <TextView 
     android:id="@+id/text1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:text="TEXT VIEW" 
     android:textColor="@android:color/white" 
     android:textSize="20sp" 
     android:textStyle="bold" /> 

    <ImageView 
     android:id="@+id/img1" 
     android:layout_width="60dp" 
     android:layout_height="80dp" 
     android:layout_below="@id/text1" 
     android:layout_centerHorizontal="true" 
     android:background="@android:color/white" /> 
</RelativeLayout> 

<RelativeLayout 
    android:id="@+id/reltive1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" > 

    <TextView 
     android:id="@+id/text2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:text="TEXT VIEW" 
     android:textColor="@android:color/white" 
     android:textSize="20sp" 
     android:textStyle="bold" /> 

    <ImageView 
     android:id="@+id/img2" 
     android:layout_width="60dp" 
     android:layout_height="80dp" 
     android:layout_below="@id/text2" 
     android:layout_centerHorizontal="true" 
     android:background="@android:color/white" /> 
</RelativeLayout> 

<RelativeLayout 
    android:id="@+id/reltive1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentRight="true" > 

    <TextView 
     android:id="@+id/text3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:text="TEXT VIEW" 
     android:textColor="@android:color/white" 
     android:textSize="20sp" 
     android:textStyle="bold" /> 

    <ImageView 
     android:id="@+id/img3" 
     android:layout_width="60dp" 
     android:layout_height="80dp" 
     android:layout_below="@id/text3" 
     android:layout_centerHorizontal="true" 
     android:background="@android:color/white" /> 
</RelativeLayout> 

</RelativeLayout> 

这是你想要的...

<LinearLayout 
    android:id="@+id/linear" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" > 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:gravity="center" 
     android:text="TextView" /> 

    <TextView 
     android:id="@+id/textView2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:gravity="center" 
     android:text="TextView" /> 

    <TextView 
     android:id="@+id/textView3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:gravity="center" 
     android:text="TextView" /> 
</LinearLayout> 

<LinearLayout 
    android:id="@+id/linear2" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" > 

    <ImageView 
     android:id="@+id/imgView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:src="@drawable/ic_launcher" /> 

    <ImageView 
     android:id="@+id/imgView2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:src="@drawable/ic_launcher" /> 

    <ImageView 
     android:id="@+id/imgView3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:src="@drawable/ic_launcher" /> 
</LinearLayout> 

检查您的ImageView与此属性集中在你的布局:

android:layout_centerHorizontal="true" 

为了您的TextView,它需要对它的引用上面对齐并居中。 所以你需要这个:

android:layout_alignParentEnd="@+id/imageView" 
android:layout_alignParentRight="@+id/imageView" 
android:layout_alignParentLeft="true" 
android:layout_alignParentStart="true" 
android:gravity="center" 

创建GridView适配器和你完成。