web-dev-qa-db-ja.com

カスタムビューをツールバーに適切に追加するにはどうすればよいですか?

高さを拡張した(56dp + 80dp)ツールバーを使用していて、ツールバーの下部にEditTextを追加したいと思います。私が抱えている問題は、下の図のように、EditTextがそれ自体を右端に展開しないことです。

enter image description here

コードは次のようになります。

toolbar_edit_text.xml

<?xml version="1.0" encoding="utf-8"?>
<EditText xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:id="@+id/title"
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:hint="Title"
    Android:singleLine="true" />

ツールバーへのレイアウトの追加:

LayoutInflater inflater = LayoutInflater.from(mActivity.getActionBarToolbar().getContext());
    mToolbarLayout = (EditText) inflater.inflate(R.layout.toolbar_edit_text, null);
    Toolbar.LayoutParams layoutParams = new Toolbar.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
    layoutParams.gravity = Gravity.BOTTOM;
    mActivity.getActionBarToolbar().addView(mToolbarLayout, layoutParams);
18
miqqo

ツールバーは、拡張していなくても、多かれ少なかれLinearLayoutのように動作すると思います。

私が正しければ、意図したとおりに「2行」を使用することはできません。

たぶん、ツールバーからそのEditViewを取り出すか、またはActionBar(「X」アイコンとアクションを使用)を使用し、ツールバーの下でEditTextを使用できます。

3
mdelolmo