Vin*_*aba 6 android android-layout android-toolbar
我试图在android中创建一个自定义扩展工具栏,工具栏中有一个编辑文本.我想要实现的布局看起来像这样

我编写实现的代码是这样的:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
<android.support.v7.widget.Toolbar
android:id="@+id/my_awesome_toolbar"
android:layout_height="256dp"
android:layout_width="match_parent"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary"
>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/searchbox"
android:layout_alignParentBottom="true"
android:text="Test"
android:background="#ffffff"
/>
</android.support.v7.widget.Toolbar>
Run Code Online (Sandbox Code Playgroud)
并且Activity具有以下代码
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
if (toolbar != null) {
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayShowTitleEnabled(false);
getSupportActionBar().setDisplayShowHomeEnabled(false);
}}
Run Code Online (Sandbox Code Playgroud)
但我得到的是这样的:

没有很多关于自定义扩展工具栏的教程,所以非常感谢一些帮助.
我认为你只需要在工具栏设置上添加重力=“底部”,例如:
<android.support.v7.widget.Toolbar
android:id="@+id/my_awesome_toolbar"
android:gravity="bottom"
android:layout_height="256dp"
android:layout_width="match_parent"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary">
Run Code Online (Sandbox Code Playgroud)
我必须在布局的底部添加一些边距才能显示编辑,但这应该使文本位于编辑的底部。
或者您可以在 EditText 上设置layout_gravity。
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:layout_gravity="bottom"
android:id="@+id/searchbox"
android:text="Test"
android:background="#ffffff"/>
Run Code Online (Sandbox Code Playgroud)
我对alignParentBottom 的编译感到惊讶。我不相信 Toolbar 继承自RelativeLayout。
编辑 - 这是我的完整布局:
<RelativeLayout 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"
tools:context=".MainActivity">
<android.support.v7.widget.Toolbar
android:id="@+id/my_awesome_toolbar"
android:layout_height="264dp"
android:layout_width="match_parent"
android:layout_alignParentBottom="true"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary">
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:layout_gravity="bottom"
android:id="@+id/searchbox"
android:text="Test"
android:background="#ffffff"/>
</android.support.v7.widget.Toolbar>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
结果是这样的:

| 归档时间: |
|
| 查看次数: |
20371 次 |
| 最近记录: |