没有焦点时如何展开 EditText?
How can I expand an EditText when it is not focused?
我正在做一个类似于 whats app 的消息视图,我希望我底部的 EditText 有“发送”button/icon 如果它被聚焦,如果没有,那么 hide/delete 那个按钮并展开编辑文本。我不知道如何在 运行 时间内进行扩展和删除操作。如果有人知道一些线索,我将非常感激。
使用 OnFocusListener
在 EditText
的焦点改变时触发您想要的事件。
使用 setVisibility
隐藏和显示您的 Button
,并通过 getLayoutParams().width
更改 EditText
的宽度
m_editText.setOnFocusChangeListener((v, hasFocus) -> {
if (hasFocus) {
m_button.setVisibility(View.GONE);
m_editText.getLayoutParams().width=400;
} else {
m_button.setVisibility(View.VISIBLE);
m_editText.getLayoutParams().width=200;
}
});
您还可以通过以下方式将尺码调整为 dp
:
TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, YOUR_SIZE_HERE, getApplication().getResources().getDisplayMetrics());
我正在做一个类似于 whats app 的消息视图,我希望我底部的 EditText 有“发送”button/icon 如果它被聚焦,如果没有,那么 hide/delete 那个按钮并展开编辑文本。我不知道如何在 运行 时间内进行扩展和删除操作。如果有人知道一些线索,我将非常感激。
使用 OnFocusListener
在 EditText
的焦点改变时触发您想要的事件。
使用 setVisibility
隐藏和显示您的 Button
,并通过 getLayoutParams().width
EditText
的宽度
m_editText.setOnFocusChangeListener((v, hasFocus) -> {
if (hasFocus) {
m_button.setVisibility(View.GONE);
m_editText.getLayoutParams().width=400;
} else {
m_button.setVisibility(View.VISIBLE);
m_editText.getLayoutParams().width=200;
}
});
您还可以通过以下方式将尺码调整为 dp
:
TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, YOUR_SIZE_HERE, getApplication().getResources().getDisplayMetrics());