【发布时间】:2016-08-05 21:30:30
【问题描述】:
我正在尝试使文本输入组件与屏幕大小相匹配。 例如,这就是我希望它的样子。 This
但是,如果屏幕尺寸更大,这就是我得到的。 This
所以,这是我的代码。
<GridLayout
android:layout_below="@+id/TopBarLayout"
android:layout_above="@+id/BottomBarLayout"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerVertical="true"
android:gravity="center"
android:padding="30dp"
android:id="@+id/PatientLayout"
android:rowCount="6"
android:columnCount="1">
<EditText
style="@style/Editor"
android:layout_width="match_parent"
android:id="@+id/PatientFirstNameEditText"
android:hint="@string/FirstNameHint"
android:layout_row="0"
android:layout_column="0"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp" />
<EditText
style="@style/Editor"
android:layout_width="match_parent"
android:id="@+id/PatientLastNameEditText"
android:hint="@string/LastNameHint"
android:layout_row="1"
android:layout_column="0"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp" />
<EditText
style="@style/Editor"
android:layout_width="match_parent"
android:id="@+id/PatientMiddleNameEditText"
android:hint="@string/MiddleNameHint"
android:layout_row="2"
android:layout_column="0"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp" />
<LinearLayout
android:id="@+id/TopBarLayout"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:orientation="horizontal"
android:layout_weight="100"
android:background="#e8e8f5"
android:layout_row="3"
android:layout_column="0"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp">
<EditText
android:inputType="date"
style="@style/Editor"
android:id="@+id/DateOfBirthEditText"
android:layout_weight="90"
android:layout_width="0dp" />
<ImageButton
android:src="@drawable/calendar"
android:layout_height="match_parent"
android:layout_width="0dp"
android:layout_weight="10"
android:id="@+id/ShowDatePickerButton"
android:background="@android:color/transparent"
android:layout_marginTop="5.0dp"
android:layout_marginBottom="5.0dp" />
</LinearLayout>
<EditText
style="@style/Editor"
android:layout_width="match_parent"
android:id="@+id/PatientSocialSecurityNumberEditText"
android:hint="@string/SocialSecurityNumberHint"
android:layout_row="4"
android:layout_column="0"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp" />
<RadioGroup
android:id="@+id/TopBarLayout"
android:padding="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_row="5"
android:layout_column="0"
android:orientation="horizontal"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp">
<RadioButton
android:text="@string/Male"
android:padding="10dp"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/PatientMaleRadioButton"
android:checked="true" />
<RadioButton
android:text="@string/Female"
android:padding="10dp"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/PatientFemaleRadioButton" />
</RadioGroup>
</GridLayout>
我设置了边距,使其与 5 英寸屏幕匹配。 我希望组件能够适应屏幕的大小。因此,例如,如果屏幕很小,文本也应该按比例缩小。 我想从 gridlayout 中获得与 C# winform 中的网格面板相同的结果。 谢谢!
【问题讨论】:
-
您是否尝试过使用多个 XML 文件来支持不同的屏幕尺寸?
-
为什么要使用网格布局来显示单列?为什么不选择 LinearLayout?