如何将相对布局与文本和图像对齐?

时间:2014-05-28 07:22:26

标签: android android-imageview relativelayout centering

我有RelativeLayout,其中包含其他元素,如imageview,textview。当我运行小屏幕尺寸的应用程序(Galaxy S2)时,它显示为图像1.但是当它在更大的屏幕(Nexus 7)上运行时,它显示为图像2.我不想放大图像以获得更大的图像屏幕,我希望它保持我设置的某些尺寸(见.xml)。但是我怎么能让它出现在大屏幕的中央(如图3所示)。

Small screen Large Screen Desired one

感谢您的建议。

.xml文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ll1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/stainbck"
android:orientation="vertical"
android:padding="25dp" >

<TextView
    android:id="@+id/textView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:text="Customized Templates"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:textColor="#eaeaea" />

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <Button
        android:id="@+id/btn1"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_weight="1"
        android:text="1" />

    <Button
        android:id="@+id/btn2"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@+id/btn1"
        android:layout_weight="1"
        android:text="2" />

    <Button
        android:id="@+id/btn3"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@+id/btn2"
        android:layout_weight="1"
        android:text="3" />

    <Button
        android:id="@+id/btn4"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="4" />
</LinearLayout>

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

    <Button
        android:id="@+id/btn5"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_weight="1"
        android:text="5" />

    <Button
        android:id="@+id/btn6"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_weight="1"
        android:text="6" />

    <Button
        android:id="@+id/btn7"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_toLeftOf="@+id/btn6"
        android:layout_weight="1"
        android:text="7" />

    <Button
        android:id="@+id/btn8"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_toLeftOf="@+id/btn7"
        android:layout_weight="1"
        android:text="8" />
</LinearLayout>

<RelativeLayout
    android:id="@+id/relative"
    android:layout_width="265dp"
    android:layout_height="200dp"
    android:layout_centerHorizontal="true"
    android:layout_gravity="center"
    android:layout_marginTop="30dp"
    android:gravity="center"
    android:longClickable="true" >

    <ImageView
        android:id="@+id/blankcard"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:adjustViewBounds="true" />

    <TextView
        android:id="@+id/crdCompany"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:text="Company"
        android:textColor="#20526d"
        android:textSize="15sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/crdWebsite"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_marginBottom="16dp"
        android:text="website"
        android:textColor="#20526d"
        android:textSize="9sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/crdAddress"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/crdPhone"
        android:layout_alignParentLeft="true"
        android:text="address"
        android:textColor="#20526d"
        android:textSize="13sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/crdEmail"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/crdWebsite"
        android:layout_alignBottom="@+id/crdWebsite"
        android:layout_alignParentRight="true"
        android:text="email"
        android:textColor="#20526d"
        android:textSize="9sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/crdPhone"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/crdWebsite"
        android:layout_alignParentLeft="true"
        android:layout_marginBottom="17dp"
        android:text="phone"
        android:textColor="#20526d"
        android:textSize="13sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/crdName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/crdCompany"
        android:text="name"
        android:textColor="#20526d"
        android:textSize="13sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/crdTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/crdName"
        android:layout_marginTop="12dp"
        android:text="title"
        android:textColor="#20526d"
        android:textSize="13sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/crdMobile"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/crdTitle"
        android:layout_marginTop="5dp"
        android:text="mobile"
        android:textColor="#20526d"
        android:textSize="13sp"
        android:textStyle="bold" />

    <FrameLayout
        android:id="@+id/frameLayout1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="25dp" >

        <ImageView
            android:id="@+id/crdlogoframe"
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:layout_alignParentLeft="true"
            android:adjustViewBounds="true"
            android:scaleType="fitCenter"
            android:src="@drawable/border"
            android:visibility="visible" />
    </FrameLayout>

    <ImageView
        android:id="@+id/crdqrframe"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:layout_alignTop="@+id/frameLayout1"
        android:layout_toRightOf="@+id/frameLayout1"
        android:adjustViewBounds="true"
        android:scaleType="fitCenter"
        android:src="@drawable/border" />
</RelativeLayout>

<RelativeLayout
    android:id="@+id/bottomrltv"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentBottom="true"
    android:layout_marginTop="10dp"
    android:gravity="bottom" >

    <Button
        android:id="@+id/btnsend"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_toLeftOf="@+id/view"
        android:layout_weight="1"
        android:text="Send" />

    <View
        android:id="@+id/view"
        android:layout_width="0dp"
        android:layout_height="1dp"
        android:layout_centerHorizontal="true" />

    <Button
        android:id="@+id/btnedit"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignTop="@+id/btnsend"
        android:layout_toRightOf="@+id/view"
        android:layout_weight="1"
        android:text="Edit" />
</RelativeLayout>

注意: .xml文件演示整个界面,而不仅仅是RelativeLayout。

1 个答案:

答案 0 :(得分:0)

如果我理解你的话,你需要将id blankcard中心的imageview置于他的父亲relativelayout中心吗?然后你可以设置android:centerInParent =&#39; true&#39; ...