将imageview与上面的文本视图对齐
我想将我的imageview与上面的textview居中对齐,这里是我正在获取的图像。将imageview与上面的文本视图对齐
我需要的是这样的一个相对布局
<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中心保持一致,但左,右一个与最右边对齐并且最左边不在上面的文本视图的中心
在layout.xml您可以使用此为每个文字+图片:
<TextView ...
android:text="The Text"
android:drawableBottom="@drawable/icon1" />
你能重复一次到的LinearLayout与水平方向
,如果我需要在图像下方再次添加文字,我也想对齐上面的这两个文字 –
此解决方案仅适用于一个文本和一个图像.. – JavaDM
您可以制作三个相对视图,每个视图都包含Textview和Imageview,其中一个位于另一个的下方父亲相对视图。 最后把这三个放在一个外部的相对视图中,按照你的喜好定位它们。
您可以使用LinearLayout
具有android:orientation="horizontal"
父布局。 然后使用三个LinearLayout
每个包含TextView
和ImageView
具有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适配器和你完成。
所以wat的问题?继续...(我的意思是你尝试过自己的东西?) – Mohit
你想要所有的东西在屏幕的中心? – Mohit