gridLayout 中的 seekbar 超出边距

seekbar in gridLayout out of margin

我正在开发一个 android 应用程序,其中我有一个 UI 和一些 tts 控件。我在 xml 文件中这样定义布局:

  <GridLayout
    android:id="@+id/vlmPanel"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/btnPanel"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true">

    <TextView
        android:id="@+id/volumeLabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_column="0"
        android:layout_gravity="center_vertical"
        android:layout_row="0"
        android:text="Volume:" />

    <SeekBar
        android:id="@+id/volume"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_column="1"
        android:layout_columnWeight="1"
        android:layout_gravity="center_vertical"
        android:layout_row="0"/>

    <TextView
        android:id="@+id/pitchLabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:layout_column="0"
        android:layout_gravity="center_vertical"
        android:layout_row="2"
        android:text="Pitch:" />

    <SeekBar
        android:id="@+id/pitch"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_column="1"
        android:layout_gravity="center_vertical"
        android:layout_row="2" />

    <TextView
        android:id="@+id/rateLabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:layout_column="0"
        android:layout_gravity="center_vertical"
        android:layout_row="3"
        android:text="Rate:" />

    <SeekBar
        android:id="@+id/rate"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_column="1"
        android:layout_gravity="center_vertical"
        android:layout_row="3" />
</GridLayout>

问题是搜索栏超出了边缘,我无法解决这个问题。

试试这个

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
     <TableLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">
             <TableRow
                android:layout_width="match_parent"
                android:layout_height="wrap_content">
                <TextView
                    android:id="@+id/volumeLabel"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_column="0"
                    android:layout_row="0"
                    android:text="Volume:" />

                <SeekBar
                    android:id="@+id/volume"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_column="1"
                    android:layout_columnWeight="1"
                    android:layout_gravity="center_vertical"
                    android:layout_row="0"
                    android:layout_weight="1"
                />
            </TableRow>
            <TableRow
                android:layout_width="match_parent"
                android:layout_height="wrap_content">
                <TextView
                    android:id="@+id/pitchLabel"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_centerVertical="true"
                    android:layout_column="0"
                    android:layout_gravity="center_vertical"
                    android:layout_row="2"
                    android:text="Pitch:" />

                <SeekBar
                    android:id="@+id/pitch"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_column="1"
                    android:layout_gravity="center_vertical"
                    android:layout_row="2"
                    android:layout_weight="1"/>
                </TableRow>
            <TableRow
                android:layout_width="match_parent"
                android:layout_height="wrap_content">
                <TextView
                    android:id="@+id/rateLabel"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_centerVertical="true"
                    android:layout_column="0"
                    android:layout_gravity="center_vertical"
                    android:layout_row="3"
                    android:text="Rate:" />

                <SeekBar
                    android:id="@+id/rate"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_column="1"
                    android:layout_gravity="center_vertical"
                    android:layout_row="3" 
                    android:layout_weight="1"/>
                </TableRow>            
        </TableLayout>
</LinearLayout>

我已经将您的布局更改为我的方式尝试使用它来解决您的问题。 谢谢