[英]center align imageview with above textview
我想使我的imageview與上面的textview居中對齊,這是我所得到的圖像。
我在相對布局中需要這樣的東西
<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居中對齊,但是左側和右側的對齊到最右邊,最左邊不在textview的中心
在layout.xml中,您可以將其用於每個Text + Image:
<TextView ...
android:text="The Text"
android:drawableBottom="@drawable/icon1" />
您可以將其重復到水平方向的LinearLayout中
您可以創建三個相對視圖,每個相對視圖都包含一個Textview和一個Imageview,一個位於另一個視圖之下,另一個與ImageView一起位於父級相對視圖的范圍內。 最后,將這三個放置在外部“相對視圖”中以根據需要放置它們。
您可以將LinearLayout
用作具有android:orientation="horizontal"
父布局。 然后使用三個LinearLayout
分別包含具有android:orientation="vertical"
TextView
和ImageView
。
見下面的代碼-
<?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>
嘗試創建三個垂直方向的線性布局,每個線性布局將包含具有重心的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適配器並完成。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.