当前位置: 首页 > 知识库问答 >
问题:

如何在Android中对齐RowTable中的文本和按钮

胡高朗
2023-03-14

我试图设计我的片段,我想创建的文本将正好在按钮上方和中心。现在,我只创建了一个2个rowtables。但我仍然没有成功地把它对准我想要的。

这是XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/mainSearchRelativeLayout"
tools:context="com.example.matant.gpsportclient.Controllers.SearchEventFragmentController"
android:background="#ffffff">

<!-- TODO: Update blank fragment layout -->

<RelativeLayout
    android:layout_width="match_parent"
    android:id="@+id/secondSearchLayout"
    android:layout_height="wrap_content">

    <RadioGroup
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:id="@+id/radioGroupSearchFragment">

        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Search by current location"
            android:id="@+id/radioButtonSearchCurrentLocation"
            android:checked="true" />

        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Search by specific address"
            android:id="@+id/radioButtonSearchSpecificAdd"
            android:checked="false" />

        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="textPostalAddress"
            android:ems="10"
            android:id="@+id/editText"
            android:hint="Please insert real Street address" />


    </RadioGroup>
    <View
        android:id="@+id/divider1"
        android:layout_width="fill_parent"
        android:layout_height="6dp"
        android:background="@android:color/darker_gray"
        android:layout_below="@+id/radioGroupSearchFragment"
        />

    <ScrollView
        android:layout_width="match_parent"
        android:id="@+id/searchScrollView"
        android:layout_below="@id/divider1"
        android:layout_height="wrap_content">

        <RelativeLayout
            android:layout_width="match_parent"
            android:id="@+id/mandatorySearchLayout"
            android:layout_below="@+id/divider1"
            android:layout_height="wrap_content">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Event Date Ranges"
                android:id="@+id/textViewEventDateRange"
                android:textColor="#000000"
                android:textStyle="bold"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_below="@+id/textViewSearchMandatory1" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="From"
                android:id="@+id/buttonSearchEventFrom"
                android:layout_below="@+id/textViewEventDateRange"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_alignParentRight="true"
                android:layout_alignParentEnd="true" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="To"
                android:id="@+id/buttonSearchEventTo"
                android:layout_below="@+id/buttonSearchEventFrom"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_alignParentRight="true"
                android:layout_alignParentEnd="true" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="*All the fields are mandatory"
                android:id="@+id/textViewSearchMandatory1"
                android:textColor="#FF0000"
                android:layout_alignParentTop="true"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true" />
            <TableRow
                android:layout_width="match_parent"
                android:id="@+id/row1"
                android:layout_below="@+id/buttonSearchEventTo"
                android:layout_height="wrap_content">

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Start in"
                    android:layout_marginLeft="50dp"
                    android:id="@+id/textView6" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="End in"
                    android:layout_marginLeft="150dp"
                    android:id="@+id/textView7" />
            </TableRow>

            <TableRow
                android:layout_width="match_parent"
                android:id="@+id/row2"
                android:layout_below="@id/row1"
                android:layout_height="match_parent">

                <Button
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="New Button"
                    android:layout_marginLeft="20dp"
                    android:id="@+id/button2" />

                <Button
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="New Button"
                    android:layout_marginLeft="70dp"
                    android:id="@+id/button" />
            </TableRow>

        </RelativeLayout>


    </ScrollView>



    <View
        android:id="@+id/divider2"
        android:layout_width="fill_parent"
        android:layout_height="6dp"
        android:background="@android:color/darker_gray"
        android:layout_below="@+id/searchScrollView"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginTop="70dp" />

</RelativeLayout>

这是我得到的:

共有1个答案

慕容恩
2023-03-14

我建议,由于没有下划线,您希望对齐哪些按钮和文本视图,您希望得到如下内容:

为此,我主张去掉tableRows并用linearlayouts替换它们:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/mainSearchRelativeLayout"
tools:context="com.example.matant.gpsportclient.Controllers.SearchEventFragmentController"
android:background="#ffffff">

<!-- TODO: Update blank fragment layout -->

<RelativeLayout
    android:layout_width="match_parent"
    android:id="@+id/secondSearchLayout"
    android:layout_height="wrap_content">

    <RadioGroup
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:id="@+id/radioGroupSearchFragment">

        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Search by current location"
            android:id="@+id/radioButtonSearchCurrentLocation"
            android:checked="true" />

        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Search by specific address"
            android:id="@+id/radioButtonSearchSpecificAdd"
            android:checked="false" />

        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="textPostalAddress"
            android:ems="10"
            android:id="@+id/editText"
            android:hint="Please insert real Street address" />


    </RadioGroup>
    <View
        android:id="@+id/divider1"
        android:layout_width="fill_parent"
        android:layout_height="6dp"
        android:background="@android:color/darker_gray"
        android:layout_below="@+id/radioGroupSearchFragment"
        />

    <ScrollView
        android:layout_width="match_parent"
        android:id="@+id/searchScrollView"
        android:layout_below="@id/divider1"
        android:layout_height="wrap_content">

        <RelativeLayout
            android:layout_width="match_parent"
            android:id="@+id/mandatorySearchLayout"
            android:layout_below="@+id/divider1"
            android:layout_height="wrap_content">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Event Date Ranges"
                android:id="@+id/textViewEventDateRange"
                android:textColor="#000000"
                android:textStyle="bold"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_below="@+id/textViewSearchMandatory1" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="From"
                android:id="@+id/buttonSearchEventFrom"
                android:layout_below="@+id/textViewEventDateRange"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_alignParentRight="true"
                android:layout_alignParentEnd="true" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="To"
                android:id="@+id/buttonSearchEventTo"
                android:layout_below="@+id/buttonSearchEventFrom"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_alignParentRight="true"
                android:layout_alignParentEnd="true" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="*All the fields are mandatory"
                android:id="@+id/textViewSearchMandatory1"
                android:textColor="#FF0000"
                android:layout_alignParentTop="true"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true" />

            <LinearLayout
                android:layout_below="@+id/buttonSearchEventTo"
                android:orientation="horizontal"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">
                <LinearLayout
                    android:orientation="vertical"
                    android:layout_weight="1"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content">
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="Start in"
                        android:id="@+id/textView6" />
                    <Button
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="New Button"
                        android:id="@+id/button2" />
                </LinearLayout>
                <LinearLayout
                    android:orientation="vertical"
                    android:layout_weight="1"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content">
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="End in"
                        android:id="@+id/textView7" />
                    <Button
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="New Button"
                        android:id="@+id/button" />
                </LinearLayout>
            </LinearLayout>

        </RelativeLayout>


    </ScrollView>



    <View
        android:id="@+id/divider2"
        android:layout_width="fill_parent"
        android:layout_height="6dp"
        android:background="@android:color/darker_gray"
        android:layout_below="@+id/searchScrollView"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginTop="70dp" />

</RelativeLayout>

最后要考虑的是--移除默认按钮周围的阴影,使它们完全对齐--这个问题在这里涵盖了--如何在Android中移除按钮周围的填充?

我希望,这有帮助

 类似资料:
  • 问题内容: 我需要说明一些文本(RTL),这是来自服务器的字符串()。但是a 不能证明文本的正确性,因此我必须使用a ,现在必须创建一个HTML文件,其中将显示。然后,我将该html文件的地址存储在数据库中,然后显示该html文件。我曾经在SO上看到过这个问题,并且很多人建议使用3rd party库,但我尝试了所有这些方法,但都无济于事(它们在90%的场景中都有效,但并不完全可靠)。 我觉得这种方

  • 问题内容: 我在一个Android应用程序中有一个列表视图,该列表视图用于显示包含字符串的ArrayList,并且找不到ListView的任何属性,这些属性使我无法将ListView Items的文本对齐到它的右边而不是左边。任何帮助将是巨大的,谢谢。 问题答案: 答案取决于您如何精确地建立列表。如果使用标准,则可以使用构造函数: 这样的xml布局在哪里:

  • 在Bootstrap框架下的一个按钮中,我很难将字体很棒的图标与文本垂直对齐。我尝试了很多事情,包括设置线的高度,但都没有效果。 http://jsfiddle.net/fPXFY/ 我怎样才能让这个工作?

  • 问题内容: 对于所有默认输入,您要填充的文本从左侧开始。您如何使它从右边开始? 问题答案: 在CSS中使用text-align属性: 这将在页面的所有输入中生效。 否则,如果只想对齐一个输入的文本,请设置内联样式:

  • 问题内容: 我试图找到最有效的方法来使div对齐文本。我尝试了几件事,但似乎都没有用。 问题答案: 对于CSS 2浏览器,可以使用/ 来使内容居中。 jSFiddle提供了一个示例: 可以将旧浏览器(Internet Explorer 6/7)的hack合并为样式,并用于从较新的浏览器中隐藏样式:

  • 我想使用flexbox来垂直对齐 中的一些内容,但没有取得很大的成功。 我在网上查了一下,很多教程实际上都使用了包装器div,它从父级的flex设置中获得,但我想知道是否可以去掉这个附加元素? 我选择在此实例中使用flexbox,因为列表项高度将是动态的。 null null