没有焦点时如何展开 EditText?

How can I expand an EditText when it is not focused?

我正在做一个类似于 whats app 的消息视图,我希望我底部的 EditText 有“发送”button/icon 如果它被聚焦,如果没有,那么 hide/delete 那个按钮并展开编辑文本。我不知道如何在 运行 时间内进行扩展和删除操作。如果有人知道一些线索,我将非常感激。

使用 OnFocusListenerEditText 的焦点改变时触发您想要的事件。

使用 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());