1

我正試圖平衡我的EditText的意見。 但我似乎無法讓他們排隊正確,我不能增加EditText的大小。起初,我用RelativeLayout試了一下,這讓我能夠準確地定位事物,但尺寸依然不足。我想如果我切換到水平LinearLayout那麼我可以用layout_weight調整這兩個字段,而EditText會自動填滿這個空間,但似乎並非如此。有什麼建議嗎? 在屏幕上顯示時,此自定義視圖被添加到垂直LinearLayout如何正確對齊水平LinearLayout中的TextView和EditText?

我的佈局文件:

<?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:padding="1dp" 
    android:weightSum="1" 
    android:orientation="horizontal"> 

    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_weight="0.6" 
     android:gravity="center_vertical" 
     android:textColor="@color/ws_blue" 
     android:background="#00ffff" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:text="Settings Item: " 
     android:id="@+id/itemLabel" /> 

    <EditText 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_weight="0.4" 
     android:textColor="@color/ws_blue" 
     android:textColorHint="@color/ws_hint" 
     android:background="#ffff00" 
     android:id="@+id/et_item_value" /> 

</LinearLayout> 

Android Studio中預覽:

Android Studio Preview

從我的手機

實際截圖:

Phone Screenshot

+0

設置寬度0dp爲textview和edittext當你把重量和餘量留下來也編輯文本 –

+0

@SathishKumarJ謝謝,我會檢查出'TableLayout' –

+0

@ Er.Arjunsaini這看起來正確的Android預覽屏幕,但當我運行它時,它仍然與我上面的屏幕截圖一樣。 –

回答

4

enter image description here這裏設置更columnsCount和跨度是你的代碼: 下面的代碼是一樣的,你必須顯示佈局文件屏幕截圖。

<TableLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="8dp"> 
    <TableRow> 
     <TextView 
      android:layout_weight="1" 
      android:gravity="center" 
      android:text="Device ID:" 
      android:textColor="@android:color/holo_green_dark" 
      android:textStyle="bold" /> 
     <TextView 
      android:layout_weight="1" 
      android:text="00:00:00:00:00:00" 
      android:textColor="@android:color/holo_green_dark" 
      android:textStyle="bold" /> 
    </TableRow> 
    <TableRow android:layout_marginTop="8dp"> 
     <TextView 
      android:layout_weight="1" 
      android:text="Wifi Presets:" 
      android:textColor="@android:color/holo_blue_dark" 
      android:textSize="18sp" 
      android:textStyle="bold" /> 
     <Spinner 
      android:layout_marginRight="20dp" 
      android:layout_weight="1" 
      android:textColor="@android:color/holo_green_dark" 
      android:textStyle="bold" /> 
    </TableRow> 
    <TableRow android:layout_marginTop="8dp"> 
     <TextView 
      android:layout_weight="1" 
      android:background="@android:color/holo_blue_bright" 
      android:text="SSID:" 
      android:textColor="@android:color/holo_blue_dark" 
      android:textSize="18sp" 
      android:textStyle="bold" /> 
     <EditText 
      android:layout_marginLeft="16dp" 
      android:layout_weight="1" 
      android:background="#FFFF00" 
      android:hint="SSID" 
      android:textColor="@android:color/holo_blue_dark" 
      android:textColorHint="@android:color/darker_gray" 
      android:textSize="18sp" 
      android:textStyle="bold" /> 
    </TableRow> 
    <TableRow android:layout_marginTop="8dp"> 
     <TextView 
      android:layout_weight="1" 
      android:background="@android:color/holo_blue_bright" 
      android:text="Password:" 
      android:textColor="@android:color/holo_blue_dark" 
      android:textSize="18sp" 
      android:textStyle="bold" /> 
     <EditText 
      android:layout_marginLeft="16dp" 
      android:layout_weight="1" 
      android:background="#FFFF00" 
      android:hint="Password" 
      android:inputType="textPassword" 
      android:textColor="@android:color/holo_blue_dark" 
      android:textColorHint="@android:color/darker_gray" 
      android:textSize="18sp" 
      android:textStyle="bold" /> 
    </TableRow> 
    <TableRow android:layout_marginTop="8dp"> 
     <TextView 
      android:layout_weight="1" 
      android:text="Security Type:" 
      android:textColor="@android:color/holo_blue_dark" 
      android:textSize="18sp" 
      android:textStyle="bold" /> 

     <Spinner 
      android:layout_marginRight="20dp" 
      android:layout_weight="1" 
      android:textColor="@android:color/holo_green_dark" 
      android:textStyle="bold" /> 
    </TableRow> 
</TableLayout> 
1

試圖通過給予邊距和填充到放大查看

<?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="horizontal" 
    android:padding="1dp" 
    android:weightSum="1"> 

    <TextView 
     android:id="@+id/itemLabel" 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="0.6" 
     android:background="#00ffff" 
     android:layout_margin="20dp" 
     android:padding="10dp" 
     android:gravity="center_vertical" 
     android:text="Settings Item: " 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:textColor="@android:color/holo_blue_dark"/> 

    <EditText 
     android:id="@+id/et_item_value" 
     android:layout_margin="20dp" 
     android:layout_width="0dp" 
     android:padding="10dp" 
     android:layout_height="match_parent" 
     android:layout_weight="0.4" 
     android:background="#ffff00" 
     android:textColor="@android:color/holo_blue_dark" 
     android:textColorHint="@android:color/darker_gray"/> 

</LinearLayout> 
1

我認爲你最好的選擇是使用GridLayout。您可以使用

<GridLayout 
.... 
android:columnCount="2"> 

,如果你需要更大的EditText您可以使用

<EditText 
..... 
android:layout_columnSpan="2"/> 
0

除了建議的答案,您還可以使用百分比支持庫。這個由Google創建的圖庫使您能夠創建RelativeLayoutFrameLayout,並具有額外優勢:定義寬度,高度和邊距的百分比。要使用它,只需添加下面一行到你的搖籃app文件:

compile 'com.android.support:percent:23.3.0' // note that the version number 
              // might change due to updates 

你加入這個依賴後,你可以使用它像下面這樣:

<android.support.percent.PercentRelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <TextView 
     android:id="@+id/itemLabel" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:alignParentLeft="true" 
     android:background="#00ffff" 
     android:layout_marginLeftPercent="10%" 
     android:gravity="center_vertical" 
     android:text="Settings Item: " 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:textColor="@android:color/holo_blue_dark"/> 

    <EditText 
     android:id="@+id/et_item_value" 
     app:layout_marginRightPercent="10%" 
     android:alignParentRight="true" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_widthPercent="40%" 
     android:background="#ffff00" 
     android:textColor="@android:color/holo_blue_dark" 
     android:textColorHint="@android:color/darker_gray"/> 

</android.support.percent.PercentRelativeLayout> 

請注意,這只是一個樣本,您可以根據您的需要

有關百分比支持庫的詳細信息進行修改,請點擊此link

希望THI s幫助:)