我在TextInputEditText
嵌套了一个简单的TextTnputLayout
。
我正在努力使TIL
的长度与TIET
中给出的提示一样长。
<android.support.design.widget.TextInputLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<android.support.design.widget.TextInputEditText
android:layout_width="match_parent"
android:layout_height="match_parent"
android:hint="This is a hint"/>
</android.support.design.widget.TextInputLayout>
我必须将TIL
的宽度设置为match_parent
,或者只设置wrap_content
以外的任何其他宽度。但是我希望宽度是动态的,TIL
的宽度遵循提供的提示的长度。可能吗?如果是的话,怎么做?
我正在使用支持库版本26.0.2
btw。
Yvette Colomb的答案很接近,TIL
包裹TIET
,但花哨的动画在那里不起作用。可能是因为如果在执行中设置了提示,动画将无法启动?
答案 0 :(得分:5)
您可以通过在java代码中设置提示来完成此操作。
从xml中删除提示:
<android.support.design.widget.TextInputLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<android.support.design.widget.TextInputEditText
android:id="@+id/inputTxt"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</android.support.design.widget.TextInputLayout>
声明并初始化活动中的TextInputEditText并设置提示。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final TextInputEditText inputTxt = (TextInputEditText) findViewById(R.id.inputTxt);
inputTxt.setHint("This is a hint");
}
这会在您输入时将文本换行到提示的宽度(不是说它是如何适用于所有设备)
然后在您输入文字时展开宽度。
回答您的最新问题。
当我们输入输入时,如何使输入布局增长。
<android.support.design.widget.TextInputLayout
android:id="@+id/txtInputL"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.design.widget.TextInputEditText
android:id="@+id/inputTxt"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:maxLines="1"/>
Java。
final TextInputEditText inputTxt = (TextInputEditText) findViewById(R.id.inputTxt);
inputTxt.setHint("This is a hint");
final TextInputLayout txtInputL = (TextInputLayout) findViewById(R.id.txtInputL);
txtInputL.setMinimumWidth(300);
txtInputL.setHint("This is a hint");
我添加了一个浮动提示:
我们正在打字:
如果您对此有任何其他疑问,请提出新问题。
答案 1 :(得分:0)
尝试这样做。
<android.support.design.widget.TextInputEditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="This is a hint"/>
答案 2 :(得分:0)
试试这个:
select count(*) as Existed
from
subject_table
where
subject_id IN ('abc123', 'bcd3432', 'bla232'....)
答案 3 :(得分:0)
您可以改为通过xml来实现,只需设置TextInputLayout和TextInputEdittext的提示,然后它将起作用,然后使TextInputEdittext在您键入时增长,因此必须将其设置为maxlines =“ 1”,而layout_height设置为wrap_content如下
<android.support.design.widget.TextInputLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="This is edittext">
<android.support.design.widget.TextInputEditText
android:hint="This is edittext
android:maxLines="1"
android:inputType="numberDecimal"
android:layout_width="wrap_content"
android:layout_height="match_parent" />
</android.support.design.widget.TextInputLayout>
I hope this help someone
答案 4 :(得分:0)
我找到了一种解决方法,对我来说,我想在禁用的Material Design样式的EditText中显示“国家/地区代码”,但与您相同,我无法在TextInputLayout中使用wrap_context。
因此,作为一种解决方法,我在TextInputLayout和TextInputEditText中都添加了提示文本,并且由于我在TextInputEditText中具有预定义的文本,因此TextInputEditText的提示从未出现在屏幕上,而是为TextInputLayout的提示留出了空间。
这就是我所做的...
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:padding="16dp">
...
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/country_code"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="Country code"
app:hintTextColor="#737373"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent">
<com.google.android.material.textfield.TextInputEditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="+91"
android:hint="Country Code"
android:enabled="false"
android:textColor="#737373"
.../>
</com.google.android.material.textfield.TextInputLayout>
...
</androidx.constraintlayout.widget.ConstraintLayout>
P.S。您可能想要在TextInputEditText提示中添加更多字符,因为这是控制间距的原因。另外,约束布局的存在仅仅是因为我在活动中还有其他元素,您可以避免使用它,并使用任何根视图。
屏幕截图
答案 5 :(得分:0)
像这样设置您的xml:
Background
现在,根据提示的大小,将input_text_field的大小调整为<strong> ,如下所示:
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/text_field_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="15sp">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/input_text_field"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="15sp"
/>
</com.google.android.material.textfield.TextInputLayout>