我的左侧有一张卡片图片。右手边有2个按钮。然后在它们下面有2张图像,在2张图像下面有一张图像。
我希望2张图片和1张图片居中。 带有1个图像的行可以正确居中。
部分代码
<LinearLayout
android:id="@+id/mainLayout"
android:layout_gravity="center"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:orientation="horizontal">
<ImageView
android:id="@+id/viewfacebook"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="@drawable/facebook" />
<ImageView
android:id="@+id/viewmail"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="@drawable/mail" />
</LinearLayout>
我为2幅图像创建了一个水平容器,并将其重力设置为中心。这不起作用。我还尝试将重力设置为2个图像的中心。但是......他们总是留在左手边。
整个XML代码
<?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="vertical">
<LinearLayout
android:id="@+id/mainLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="vertical"></LinearLayout>
<LinearLayout
android:id="@+id/mainLayout"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="center"
android:background="@drawable/background"
android:orientation="vertical">
<LinearLayout
android:id="@+id/mainLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/mainLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:id="@+id/cardpic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="5dp"
android:src="@drawable/bio" />
</LinearLayout>
<LinearLayout
android:id="@+id/mainLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:id="@+id/mainLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="horizontal">
<ImageView
android:id="@+id/buthome"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ok" />
<ImageView
android:id="@+id/butaffirmation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/affirmation" />
</LinearLayout>
<LinearLayout
android:id="@+id/mainLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="horizontal" />
<ImageView
android:id="@+id/viewfacebook"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/facebook" />
<ImageView
android:id="@+id/viewmail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/mail" />
</LinearLayout>
<ImageView
android:id="@+id/vietwitter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/twitter" />
<LinearLayout
android:id="@+id/mainLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/housetext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" *A long and happy marriage or commitment is in your future.\n*Emotional security (loyalty and trust) exists in your relationship.\n*You will have a stable home and family life.\nThe marriage card is about a person who is either going get married or who really cherishes the whole institution of marriage."
android:textColor="#ff000000"
android:textSize="18px"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/cardtext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" *A long and happy marriage or commitment is in your future.\n*Emotional security (loyalty and trust) exists in your relationship.\n*You will have a stable home and family life.\nThe marriage card is about a person who is either going get married or who really cherishes the whole institution of marriage."
android:textColor="#ff000000"
android:textSize="20dp"
android:textStyle="bold" />
</ScrollView>
</LinearLayout>
答案 0 :(得分:1)
跟随你的XML有点困难,但这应该让你走上正轨,试一试。
如果您使用线性布局...... 将您想要的图像并排放置在水平线性布局中 为每个图像指定布局权重 您可能需要使用match_parent(或根据您的目标API填充)以及layout_gravity和gravity参数来使用layout_widths和高度。
<LinearLayout android:gravity="center" ... orientation="horizontal">
<ImageView
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/viewmail"
android:src="@drawable/mail" />
<ImageView
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/vietwitter"
android:src="@drawable/twitter" />
</LinearLayout>
答案 1 :(得分:0)
编辑问题中的代码。我有一段艰难的时间试图看看你想要做什么。这个问题的图片可能非常直接(imo)。现在回答您的问题,了解LinearLayouts默认为左对齐。如果你有多个嵌套的LinearLayouts,在决定它们的宽度和高度时要格外小心,因为它们优先于重力。