Android FrameLayout佈局中的控制元件設定居中動態設定
阿新 • • 發佈:2019-01-10
Android FrameLayout 佈局檔案靜態設定裡面的控制元件時是預設左上角疊加的。
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="200dp" android:background="@color/black"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="HelloWorld" android:textColor="@color/white" android:textSize="18sp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="This is HelloWorld" android:textColor="@color/white" android:textSize="18sp" /> </FrameLayout>
靜態佈局檔案設定居中時只需要設定裡面控制元件的layout_gravity:
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="This is HelloWorld" android:textColor="@color/white" android:textSize="18sp" />
程式碼中動態設定。(動態新增控制元件的處理方案):
FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) textView.getLayoutParams(); // 設定裡面的控制元件的佈局和父佈局的高度相同 layoutParams.height = FrameLayout.LayoutParams.MATCH_PARENT; textView.setLayoutParams(layoutParams); // 設定控制元件自身的內容居中 textView.setGravity(Gravity.CENTER );