破坏的Android布局

时间:2016-11-19 23:51:25

标签: android xml layout

我在父LinearLayout中使用TableLayout,我在TableLayout中有一些EditText视图。我完全不知道为什么EditText视图超出了我的布局的屏幕尺寸,如下图所示:

enter image description here

这是我的XML代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_view_edit_location_parameters"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.kg.hvacloadestimator.ViewEditLocationParameters">

        <TextView
            android:text="@string/Location"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/location" />

        <TextView
            android:text="@string/Summer_Outside_db"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/summerDB" />

        <TextView
            android:text="@string/Winter_Outside_db"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/winterDB" />

        <TextView
            android:text="@string/Daily_Range"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/dailyRange" />

        <CheckBox
            android:text="@string/Checkbox_Custom_Conditions"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:onClick="onCheckboxClicked"
            android:id="@+id/checkBoxCustomConditions" />

        <TableLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

                <TableRow
                    android:layout_width="match_parent"
                    android:layout_height="match_parent" >

                        <TextView
                            android:text="@string/Custom_Location"
                            android:layout_height="wrap_content"
                            android:id="@+id/textViewCustomLocation" />

                        <EditText

                            android:layout_height="wrap_content"
                            android:inputType="textPersonName"
                            android:text="@string/Default_Custom_Location"
                            android:ems="10"
                            android:id="@+id/editTextCustomLocation" />
                </TableRow>

                <TableRow
                    android:layout_width="match_parent"
                    android:layout_height="match_parent" >

                        <TextView
                            android:text="@string/Custom_Summer_db"
                            android:layout_height="wrap_content"
                            android:id="@+id/textViewCustomSummerDB" />

                        <EditText

                            android:layout_height="wrap_content"
                            android:inputType="numberSigned|numberDecimal"
                            android:ems="10"
                            android:id="@+id/editTextCustomSummerDB"
                            android:text="@string/Default_Custom_Summer_db" />
                </TableRow>

                <TableRow
                    android:layout_width="match_parent"
                    android:layout_height="match_parent" >

                        <TextView
                            android:text="@string/Custom_Winter_db"
                            android:layout_height="wrap_content"
                            android:id="@+id/textViewCustomWinterDB" />

                        <EditText

                            android:layout_height="wrap_content"
                            android:inputType="numberSigned|numberDecimal"
                            android:ems="10"
                            android:id="@+id/editTextCustomWinterDB"
                            android:text="@string/Default_Custom_Winter_db" />
                </TableRow>

                <TableRow
                    android:layout_width="match_parent"
                    android:layout_height="match_parent" >

                        <TextView
                            android:text="@string/Custom_Daily_Range"
                            android:layout_height="wrap_content"
                            android:id="@+id/textView4" />

                        <Spinner
                            android:layout_height="wrap_content"
                            android:id="@+id/spinnerCustomDailyRange" />
                </TableRow>
        </TableLayout>

        <Button
            android:text="@string/Button_Confirm_Location"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:onClick="onButtonClick"
            android:id="@+id/buttonConfirmLocation" />

</LinearLayout>

任何帮助将不胜感激。提前谢谢。

1 个答案:

答案 0 :(得分:0)

因为您没有设置这些元素的宽度和重量。尝试将宽度设置为wrap_content并使用weight值,直到获得所需内容。另外,请检查this question以进一步了解LinearLayout和weight。

修改

TextViews和EditText的ems属性也会影响布局。如果你想要它们的比例相同,请在两者中使用相同的。