将ImageView居中放在android中心

时间:2012-02-06 07:51:36

标签: android android-layout

我在线性布局中有一个ImageView,这个LinearLayout在RelativeLayout中,而这个相对布局在ScrollView中。

 <?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:background="@drawable/white"
android:fillViewport="true"
android:tileMode="repeat" >

<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent">
    <LinearLayout
        android:layout_alignParentTop="true"
        android:layout_width="fill_parent" 
        android:layout_height="30dip"
        android:background="@drawable/black"
        android:tileMode="repeat">
        <ImageButton 
            android:id="@+id/buttonMainBackClosetheApp"
            android:src="@drawable/greenarrow"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/black"
            android:tileMode="repeat"/>
      <ImageView 
          android:src="@drawable/logo"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"/>
         </LinearLayout>

我想将ImageView徽标设置为LinearLayout的中心。 我附加了部分具有ImageView的xml。 我已经使用了ScrollView,如果应用程序在小屏幕中使用,那么用户可以滚动。 完整的XML太大了,因为它是在仪表板风格上设计的。 期待你的回复。 感谢。

11 个答案:

答案 0 :(得分:0)

<ImageView 
      android:src="@drawable/logo"
      android:layout_width="wrap_content"
      android:layout_gravity="center"
      android:layout_height="wrap_content"/>

答案 1 :(得分:0)

将以下属性放在LinearLayout中 android:layout_gravity =“center”

上述属性会将您的子视图置于LinearLayout的中心。

答案 2 :(得分:0)

这个怎么样?

<ImageView 
    android:src="@drawable/logo"
    android:layout_width="wrap_content"
    android:layout_gravity="center"
    android:gravity="center"
    android:layout_height="wrap_content"/>

答案 3 :(得分:0)

也许是因为ImageButton与ImageView在同一个LinearLayout中 因此,它们共享相同的空间,当您将ImageView“居中”时,它将以自己的空间为中心。例如,如果要将其水平“居中”,请添加属性android:orientation="vertical",然后尝试将其居中。   或者将ImageButton和ImageView放在单独的LinearLayouts中。

答案 4 :(得分:0)

试试这个

 <ImageView
       android:id="@+id/logo"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"            
       android:layout_centerHorizontal="true"           
       android:background="@drawable/logo" />

看到这个

application name center alignment in android`

答案 5 :(得分:0)

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:tileMode="repeat" >

<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent">
    <LinearLayout
        android:layout_alignParentTop="true"
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent"
        android:gravity="center"
        android:tileMode="repeat">
        <ImageButton 
            android:id="@+id/buttonMainBackClosetheApp"

            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@color/white"
            android:tileMode="repeat"/>
      <ImageView 

          android:layout_width="wrap_content"
          android:layout_height="wrap_content"/>
         </LinearLayout>
         </RelativeLayout>
         </ScrollView>

答案 6 :(得分:0)

可能会对你有帮助。

    <?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="match_parent"
    android:fillViewport="true"
    android:tileMode="repeat" >

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_gravity="center_horizontal" >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal"
            android:tileMode="repeat" >

            <TextView
                android:id="@+id/text"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="LINEAR LAYOUT"
                android:textSize="20dip" />

            <ImageButton
                android:id="@+id/buttonMainBackClosetheApp"
                android:layout_width="50dip"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:background="#FFFFFF"
                android:tileMode="repeat" />

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />

            <TextView
                android:id="@+id/text1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="LINEAR LAYOUT"
                android:textSize="20dip" />
        </LinearLayout>
    </RelativeLayout>
</ScrollView>

答案 7 :(得分:0)

LinearLayout 中放置 android:gravity =&#34; center&#34; 。这样ImageView将成为中心。请参阅以下代码。

<?xml version="1.0" encoding="utf-8"?>    

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:background="@drawable/white"
android:fillViewport="true"
android:tileMode="repeat" >

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >    

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="30dp"
        android:layout_alignParentTop="true"
        android:background="@drawable/black"
        android:tileMode="repeat"
        android:gravity="center" >

        <ImageButton
            android:id="@+id/buttonMainBackClosetheApp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/black"
            android:src="@drawable/greenarrow"
            android:tileMode="repeat" />

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/images"/>
    </LinearLayout>
   </RelativeLayout>
 </ScrollView>

答案 8 :(得分:0)

将线性布局的属性重力放在中心位置。   的机器人:比重= “中心” 如果它不起作用,那么请上传你的完整xml。

答案 9 :(得分:0)

我希望这会对你有帮助。

    <LinearLayout
            android:layout_alignParentTop="true"
            android:layout_width="fill_parent" 
            android:layout_height="30dip"
            android:background="@drawable/black"
            android:tileMode="repeat"  
            android:orientation="vertical"
            android:layout_centerHorizontal="true">
            <ImageButton 
                android:id="@+id/buttonMainBackClosetheApp"
                android:src="@drawable/greenarrow"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/black"
                android:tileMode="repeat"
                android:layout_gravity="center"/>
          <ImageView 
              android:src="@drawable/logo"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:layout_gravity="center"/>
 </LinearLayout>

答案 10 :(得分:0)

你应该在ScrollView中使用根布局是RelativeLayout并使用

android:layout_centerInParent="true"

在视图的xml中,您希望位于RelativeLayout

下的中心位置