首页 > 解决方案 > 在edittext中更改背景会导致框的宽度等于0

问题描述

我有一个 7 x 15 的大型编辑文本表格布局网格,当我尝试将任何文本框背景从“@android:color/transparent”更改为任何颜色时,它会挤压整行并扭曲整个网格。这是典型文本框的代码:

<EditText
                android:id="@+id/a1"
                style="@style/Widget.AppCompat.AutoCompleteTextView"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:alpha="1"
                android:background="@android:color/transparent"
                android:editable="false"
                android:foreground="#801E8C1B"
                android:gravity="center"
                android:textSize="14sp" />

标签: androidkotlin

解决方案


您可以尝试使用以下适用于我的 XML 片段来更改您的编辑文本。它在 TableLayout 行中创建三个 EditText 视图。也许正如 Android Studio 建议的那样,而不是android:editable="false"使用android:inputType="none"然后在您的代码中更改此属性。

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/layout"
    tools:context=".MainActivity">

    <TableRow
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <EditText
            android:id="@+id/a1"
            style="@style/Widget.AppCompat.AutoCompleteTextView"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:alpha="1"
            android:background="#00ff00"
            android:inputType="none"
            android:foreground="#801E8C1B"
            android:gravity="center"
            android:textSize="14sp" />
        <EditText
            android:id="@+id/a2"
            style="@style/Widget.AppCompat.AutoCompleteTextView"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:alpha="1"
            android:background="@android:color/background_dark"
            android:inputType="none"
            android:foreground="#801E8C1B"
            android:gravity="center"
            android:textSize="14sp" />
        <EditText
            android:id="@+id/a3"
            style="@style/Widget.AppCompat.AutoCompleteTextView"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:alpha="1"
            android:background="@color/colorPrimaryDark"
            android:inputType="none"
            android:foreground="#801E8C1B"
            android:gravity="center"
            android:textSize="14sp" />
    </TableRow>
</TableLayout>

推荐阅读