请看下面的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>