Android ImageView макет гравитации не работает - PullRequest
2 голосов
/ 23 ноября 2011

Привет, ребята, у меня нет ответа на этот вопрос. Надеюсь, вы могли бы помочь. Свойство layout_gravity в качестве центра не работает, когда я устанавливаю свойство типа масштаба на матрицу. А также я использую масштабирование пинч для этого изображения. так что, если я могу установить изображение и установить, если изображение маленькое, то это было бы очень хорошо. Надеясь на лучшие ответы. Заранее спасибо ...

Редактировать # 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 ]

3 голосов
/ 23 ноября 2011

Проблема в том, что ваш linearLayout расположен горизонтально, и у дочернего элемента есть fill_parent в качестве ширины.поэтому, если вы не укажете ширину как wrap_content и выровняете ее по центру по горизонтали, она не будет работать.

0 голосов
/ 13 июня 2014

Используйте гравитацию вместо Layout Gravity

0 голосов
/ 23 ноября 2011

Попробуйте это в андроиде 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>          
...