带有EditTexts的Android扩展工具栏

时间:2015-01-17 20:15:32

标签: android material-design android-toolbar

我正在尝试实现类似于此处所示的收费栏: enter image description here

我还希望在工具栏的顶部有一个标题,我似乎无法使用当前的布局。

我当前的工具栏布局:

<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:float="http://schemas.android.com/apk/res-auto"
android:id="@+id/new_monitor_toolbar"
android:minHeight="?android:attr/actionBarSize"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginLeft="16dp"
    android:orientation="vertical">

    <!-- Toolbar space -->
    <Space
        android:layout_width="match_parent"
        android:layout_height="56dp"/>

    <com.wrapp.floatlabelededittext.FloatLabeledEditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <EditText
            style="@style/EditTextHeadline"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingBottom="16dp"
            android:paddingTop="16dp"
            android:hint="Name"/>

    </com.wrapp.floatlabelededittext.FloatLabeledEditText>

    <!-- First divider space -->
    <Space
        android:layout_width="match_parent"
        android:layout_height="8dp"/>


    <com.wrapp.floatlabelededittext.FloatLabeledEditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        float:fletTextAppearance="@style/floatlabelededittext">

        <EditText
            style="@style/EditTextSubhead"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingBottom="12dp"
            android:paddingTop="12dp"
            android:hint="URL"/>

    </com.wrapp.floatlabelededittext.FloatLabeledEditText>

    <!-- Second divider space -->
    <Space
        android:layout_width="match_parent"
        android:layout_height="16dp"/>

</LinearLayout>

我的活动:

 Toolbar toolbar = (Toolbar) findViewById(R.id.new_monitor_toolbar);
    if (toolbar != null) {
        setSupportActionBar(toolbar);
        getSupportActionBar().setTitle( "New Page Monitor" );
        Toast.makeText(this, "Should have title", Toast.LENGTH_SHORT).show();
    }

我也不确定如何正确显示后退箭头。任何帮助都会很棒!感谢。

2 个答案:

答案 0 :(得分:0)

首先,你知道findViewById()返回的工具栏不是空的吗?您指定的工具栏不在整个活动的布局中。我建议工具栏布局和活动布局都在一个布局文件中,或者至少,您在活动布局中包含工具栏布局。要在工具栏中添加标题,我建议您在布局中添加TextView。至于显示的后退箭头,getSupportActionBar().setDisplayHomeAsUpEnabled(true)应该可以解决问题。

答案 1 :(得分:0)

android.support.v7.widget.Toolbar没有setDisplayHomeAsUpEnabled()功能。请改用toolbar.setNavigationIcon(R.drawable.ic_drawer)

至于标题,请更改

<!-- Toolbar space -->
<Space
    android:layout_width="match_parent"
    android:layout_height="56dp"/>

<TextView
    android:layout_width="match_parent"
    android:layout_height="56dp"
    android:text = "Your title"/>