Android ImageView布局重力无法正常工作

时间:2011-11-23 10:45:30

标签: android layout imageview gravity

大家好,我没有这个问题的答案。希望你能帮忙。 layout_gravity属性作为中心,当我将scale type属性设置为matrix时,它不起作用。此外,我正在使用捏缩放这个imageview。因此,如果我可以设置图像并设置图像是否小,那么它将非常好。希望有更好的回应。在此先感谢...

编辑#1: 我的ImageView如下:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:background="@drawable/bg">

<LinearLayout android:layout_width="fill_parent"
    android:id="@+id/linear_titile_bar" android:layout_height="wrap_content"
    android:background="@drawable/top_black_logo_bg">

    <Button android:layout_width="wrap_content"   android:id="@+id/myphotos_gridview_back"
        android:layout_height="wrap_content" android:background="@drawable/back_gray_bt"
        android:layout_gravity="center_vertical" android:layout_margin="5dip">   </Button>
</LinearLayout>

<LinearLayout android:layout_width="fill_parent"
    android:id="@+id/nameTitlebar" android:layout_below="@+id/linear_titile_bar"
    android:layout_height="wrap_content" android:background="@drawable/title_gray_bg">

    <TextView android:layout_width="fill_parent"
        android:layout_height="fill_parent" android:gravity="center"
        android:text="MY PHOTOS" style="@style/ivideodate.blue.large"></TextView>
</LinearLayout><!-- android:layout_above="@+id/FooterLayout" -->

<LinearLayout android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:layout_below="@+id/nameTitlebar"
    android:layout_above="@+id/FooterLayout" android:gravity="center">

    <ImageView android:layout_width="fill_parent" android:scaleType="matrix"
        android:layout_gravity="center" android:layout_height="fill_parent"
        android:id="@+id/ProfileImageView" />

</LinearLayout>

<LinearLayout android:layout_height="wrap_content"
    android:background="@drawable/my_photo_edit_but_bg"
    android:layout_width="fill_parent" android:layout_alignParentBottom="true"
    android:id="@+id/FooterLayout" android:orientation="vertical"
    android:gravity="center">

    <Button android:background="@drawable/set_profile_pic_bt"
        android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:scaleType="fitCenter" android:id="@+id/setprofileimage" />
    <Button android:background="@drawable/delete_photo_bt"
        android:layout_width="wrap_content" android:layout_marginTop="5dip"
        android:layout_height="wrap_content" android:scaleType="fitCenter"
        android:id="@+id/deleteimage" />

</LinearLayout>

 </RelativeLayout>

3 个答案:

答案 0 :(得分:3)

问题是你的linearLayout是水平的,而且孩子的fill_parent是宽度。所以,除非你将宽度指定为wrap_content并将其与水平居中对齐,否则它将无效。

答案 1 :(得分:0)

在android xml中尝试这个

      <?xml version="1.0" encoding="utf-8"?>
      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
       android:layout_width="fill_parent"
       android:layout_height="fill_parent"
       android:orientation="vertical" >
       <LinearLayout 
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" 
        android:gravity="center">
        <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher" 
        />
        </LinearLayout>
        </LinearLayout>          

答案 2 :(得分:-1)

使用重力而不是布局重力