无法居中对齐


请看下面的xml布局,采用的是Frame布局,底下一个ProgressBar,上面一个ImageView,如果FrameLayout的宽高都是"wrap_content"

则ProgressBar和ImageView将无法居中对齐。因为他们是相对于父控件居中对齐的,而此时父控件的大小是由子控件决定的,所以导致2个控件是居左上角对齐

 

 

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width= "wrap_content"
  android:layout_height="wrap_content"
  >
  
<ProgressBar
       android:id="@+id/bigMap_progress"

      style="?android:attr/progressBarStyleSmall"

       android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_gravity = "center"

        android:visibility="gone"
/>

  
  <ImageView android:id = "@+id/bigMap_iv"
  android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity = "center"
  ></ImageView>
</FrameLayout>


 修改后的xml

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  >
  
<ProgressBar
       android:id="@+id/bigMap_progress"

      style="?android:attr/progressBarStyleSmall"

       android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_gravity = "center"

        android:visibility="gone"
/>

  
  <ImageView android:id = "@+id/bigMap_iv"
  android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity = "center"
  ></ImageView>
</FrameLayout>


 

 

 

 

你可能感兴趣的:(android,xml,layout,encoding)