对齐ImageView& LinearLayout中的TextView

时间:2014-08-21 16:14:11

标签: android textview imageview alignment android-linearlayout

我有一个LinearLayout,里面有一个ImageView和TextView。我想将LinearLayout的中心与ImageView下方的Im​​ageView和TextView对齐。

我只在LinearLayout中获得顶部对齐ImageView。我该怎么做?

       <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="center_horizontal"
            android:layout_weight="1"
            android:layout_margin="8dp"
            android:gravity="center_horizontal"
            android:orientation="vertical" >

            <ImageView
                android:id="@+id/boton"
                android:layout_width="90dp"
                android:layout_height="90dp"
                android:layout_gravity="center"
                android:background="@drawable/plano"
                android:gravity="center" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Plano"
                android:textSize="23sp"
                android:textStyle="bold"
                />

        </LinearLayout>

2 个答案:

答案 0 :(得分:2)

我将向您展示如何利用RelativeLayout和TextView的compoundDrawable:

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center_horizontal"
    android:layout_margin="8dp"
    >
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:drawableTop="@drawable/plano"
        android:drawablePadding="8dp"
        android:text="Plano"
        android:textSize="23sp"
        android:textStyle="bold"
    />
</RelativeLayout>

复合绘图有助于保持视图计数,因此本质上加快了布局

关键是android:drawableTop="@drawable/plano"这取代了顶部的图像 您还可以设置右侧,左侧,下侧图像 甚至一起。

答案 1 :(得分:0)

你必须把&#34; layout_gravity&#34; field as&#34; center_horizo​​ntal&#34;但是这两个小部件(ImageView,TextView)。

这里代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

  <ImageView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/imageView"
      android:layout_gravity="center_horizontal"
      android:src="@drawable/ic_launcher"/>
  <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:textAppearance="?android:attr/textAppearanceSmall"
      android:text="Small Text"
      android:id="@+id/textView" 
      android:layout_gravity="center_horizontal"/>

</LinearLayout>