android - 在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" />
解决方案
您可以尝试使用以下适用于我的 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>
推荐阅读
- python - 如何从列表行创建单个列表?
- python-3.x - 在 if 和 elif 语句中使用来自输入函数的单个字母(如 Y 或 N)及其对应的小写字母
- c++ - 如何修复双链表的显示功能?
- jpa - 为什么 JPA 会删除多对一关系的第一个元素?
- php - 2 自定义 wp_query 使用与 'orderby' => 'rand' 相同的 rand?
- c++ - 类和结构在填充和继承方面的区别
- python - 如何从文件夹中的一堆excel,pdf文件中找出空文件?
- symfony - Symfony 自我更新失败
- asp.net-mvc - 验证选择文本和下拉菜单。如果使用一个,则必须同时使用两个
- r - 仅当计数高于阈值时才绘制直方图箱