我试图使用此代码将EditText设置为不可编辑:
<EditText android:id="@+id/outputResult"
android:inputType="text"
android:editable="false"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/result" />
Run Code Online (Sandbox Code Playgroud)
我不得不添加这个不可编辑
android:focusable="false"
Run Code Online (Sandbox Code Playgroud)
难道我做错了什么?
非常感谢你
嗨,我正在制作自定义拨号器,所以我创建了自己的输入板.
问题是如何禁用EditText 但仍然允许剪切/复制/粘贴?股票拨号器可以做到这一点.
我试过android:focusable="false"但它禁用剪切/复制(仍然可以粘贴).
我还试图以inputType编程方式禁用所有三个命令:
myEditText.setInputType(InputType.TYPE_NULL); //Can't cut/copy/paste
Run Code Online (Sandbox Code Playgroud)
从清单中禁用它也不起作用:
android:configChanges="orientation|keyboardHidden" //Keyboard still popped up
Run Code Online (Sandbox Code Playgroud)
有解决方案吗 谢谢
我目前正在使用 Material Design TextInputLayout OutlinedBox,如下所示:
<android.support.design.widget.TextInputLayout
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.design.widget.TextInputEditText
android:id="@+id/myEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Title"
android:inputType="text"/>
</android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)
我正在尝试Spinner在 TextInputEditText 下添加一个下拉框,并希望保持相同的样式:OutlinedBox。
我看到 Material Design, Material Design Text Fields似乎支持下拉菜单。如此处所示的区域:
我目前正在使用 Spinner 生成下拉菜单。
<Spinner
style="@style/Widget.AppCompat.Spinner.DropDown"
android:id="@+id/option"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:dropDownWidth="match_parent" />
Run Code Online (Sandbox Code Playgroud)
似乎不可能按照 OutlinedBox 设计添加下拉菜单。是否有一个库可以让我实现这一点,或者是否有更好的方法在 Material Design 中实现这一点?
android material-design android-textinputlayout material-components material-components-android
测试Android 1.6(4)和2.3.3(10).
我已经制作了一个简约的测试应用程序来演示这个,它所做的只是加载xml:
setContentView(R.layout.main);
Run Code Online (Sandbox Code Playgroud)
而xml是:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
<EditText
android:id="@+id/editText1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="none"
android:ems="10" >
</EditText>
Run Code Online (Sandbox Code Playgroud)
问题:
当inputType="none"在执行期间设置实际输入类型时textMultiLine(0x00020001),我已经用调试器检查了它.
另一方面,如果我使用inputType="text"它按预期工作.
这是Android中的错误吗?
我有一个带有一个textView和一个EditText和一个按钮的布局.EditText在xml文件中不可编辑.我想通过代码启用它.
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Name"
android:id="@+id/textView12"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/etName"
android:layout_below="@+id/textView12"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:editable="false"
/>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/edit"
android:onClick="edit"
android:id="@+id/btnName"
android:layout_centerVertical="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
Run Code Online (Sandbox Code Playgroud)