1. 程式人生 > >HorizontalScrollView巢狀橫向的LinearLayout,addView後 子view無法居中顯示問題

HorizontalScrollView巢狀橫向的LinearLayout,addView後 子view無法居中顯示問題

//無法居中的佈局

                    <HorizontalScrollView
                        android:layout_gravity="center"
                        android:id="@+id/id_hs_employee"
                        android:scrollbars="none"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="16dp">

                        <LinearLayout
                            android:visibility="gone"
                            android:id="@+id/ll_employee_add"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center"
                            android:orientation="horizontal">

                        </LinearLayout>

                    </HorizontalScrollView>

//修改後的佈局
                    <HorizontalScrollView
                        android:layout_gravity="center_horizontal"
                        android:id="@+id/id_hs_employee"
                        android:scrollbars="none"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="16dp">

                        <LinearLayout
                            android:visibility="visible"
                            android:id="@+id/ll_employee_add"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:orientation="horizontal">

                        </LinearLayout>

                    </HorizontalScrollView>

原因是

在HorizontalScrollView裡的LinearLayout不能使用layout_gravity="center"這個屬性的.

center似乎是center_horizontal|center_vertical的結果.

貌似center_horizontal引起的LinearLayout和HorizontalScrollView的衝突.