簡體   English   中英

垂直對齊按鈕和textview組件android

[英]Aligning button and textview components vertically android

我試圖使我的Button組件和我的TextView組件垂直對齊並且也居中。 彼此之間也有一點間距。 現在他們只是在彼此之上。

在此輸入圖像描述

XML:

<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/dueDateSection"
        android:layout_below="@+id/editSection"
        android:paddingBottom="@dimen/activity_edit_item_layout_vertical_margin"
        android:paddingTop="@dimen/activity_edit_item_layout_vertical_margin"
        android:gravity="center_vertical">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/btnDatePicker"
            android:text="Select Date"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/btnDatePicker"
            android:textSize="22sp"
            android:gravity="center"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_alignBottom="@id/btnDatePicker" />

    </RelativeLayout>

用這個 ....

 <LinearLayout android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/dueDateSection"
    android:orientation="vertical"
    android:gravity="center"
    xmlns:android="http://schemas.android.com/apk/res/android">



    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/btnDatePicker"
        android:marginRight="5dp"
        android:text="Select Date"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/btnDatePicker"
        android:textSize="22sp"
        android:text="Hi this is simple"/>



</LinearLayout>

產量

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/dueDateSection"
    android:layout_below="@+id/editSection"
    android:paddingBottom="15dp"
    android:paddingTop="15dp"
    android:gravity="center_vertical">

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:orientation="vertical">
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/btnDatePicker"
            android:text="Select Date" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/btnDatePicker"
            android:textSize="22sp"
            android:text="CORE JAVA"
            />
    </LinearLayout>


</RelativeLayout>

這將是這樣的

只需添加上述答案,您可以在希望所有組件垂直(或水平)對齊時使用線性布局。

由於在相對布局中,組件相對於其他組件是定位的,因此增加了布局的復雜性。當您使用設計生成布局時,它無效。

如果您將來使用它,有關線性布局的一些提示:

  1. 對於要垂直對齊的組件,請使用android:orientation="vertical" android:orientation="horizontal"表示要水平對齊的組件。

  2. 使用weightSum和重量如下圖所示:

     <Button android:layout_width="wrap_content" android:layout_height="0dp" android:text="New Button" android:id="@+id/button" android:layout_gravity="center_horizontal" android:layout_weight="1" /> <EditText android:layout_width="match_parent" android:layout_height="0dp" android:id="@+id/editText" android:layout_gravity="center_horizontal" android:layout_weight="2" /> <Button android:layout_width="wrap_content" android:layout_height="0dp" android:text="New Button" android:id="@+id/button2" android:layout_gravity="center_horizontal" android:layout_weight="1" /> <EditText android:layout_width="match_parent" android:layout_height="0dp" android:id="@+id/editText2" android:layout_gravity="center_horizontal" android:layout_weight="2" /> 

這里布局的總重量為12,子項被賦予不同的權重,(按鈕高度與EditText的比率為1是2,所有4個孩子一起占據布局總高度的一半是權重之和所有孩子放在一起是6,weightSum是12)

線性布局

LinearLayoutandroid:orientation="vertical"屬性一起使用

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

<Button 
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="B1"/>

<TextView 
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="YOUR TEXT"/>

</LinearLayout>

這可能對你有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM