2017-08-14 97 views
-2

我試圖用我的活動實現我的工具欄,但它沒有膨脹,並一直顯示錯誤。我的項目不使用AppCompat,但我不確定這是否也是錯誤的原因。非AppCompat項目中的工具欄不充氣

錯誤充氣類android.widget.Toolbar

的Java

public class MainActivity extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     Toolbar customToolbar = findViewById(R.id.toolbar_1line); 
     setActionBar(customToolbar); 

     //add back arrow to toolbar 
     if (getActionBar() != null){ 
      getActionBar().setDisplayHomeAsUpEnabled(true); 
      getActionBar().setDisplayShowHomeEnabled(true); 
     } 

     TextView mTitle = this.findViewById(R.id.toolbar_title); 
     mTitle.setText(getString(R.string.select_a_destination_station)); 
     mTitle.setTextColor(Color.WHITE); 
     mTitle.setEllipsize(TextUtils.TruncateAt.MARQUEE); 
     mTitle.setMarqueeRepeatLimit(-1); 
     mTitle.setSingleLine(true); 
     mTitle.setSelected(true); 
    } 
} 

工具欄佈局

<?xml version="1.0" encoding="utf-8"?> 
<android.widget.Toolbar 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/toolbar_1line" 
    android:layout_width="match_parent" 
    android:layout_height="?android:attr/actionBarSize" 
    android:minHeight="?android:attr/actionBarSize"> 

    <LinearLayout 
     android:id="@+id/singleline_text_layout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center_vertical" 
     android:orientation="vertical"> 

     <TextView 
      android:id="@+id/toolbar_title" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      style="@android:style/TextAppearance.Material.Widget.ActionBar.Title"/> 
    </LinearLayout> 
</android.widget.Toolbar> 

activity_main.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/detail_container"> 

    <include layout="@layout/toolbar_singleline" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"/> 

    <ListView 
     android:id="@+id/list_objects" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" /> 

</LinearLayout> 

回答

1

試試這個。

在Toolbar_layout

一種方式

變化

<android.widget.Toolbar 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/toolbar_1line" 
    android:layout_width="match_parent" 
    android:layout_height="?android:attr/actionBarSize" 
    android:minHeight="?android:attr/actionBarSize"> 
</android.widget.Toolbar> 

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

在Java代碼

變化

Toolbar customToolbar = findViewById(R.id.toolbar_1line); 
setActionBar(customToolbar); 

//add back arrow to toolbar 
if (getActionBar() != null){ 
    getActionBar().setDisplayHomeAsUpEnabled(true); 
    getActionBar().setDisplayShowHomeEnabled(true); 
} 

Toolbar customToolbar = (Toolbar) findViewById(R.id.toolbar_1line); 
setSupportActionBar(customToolbar); 
//add back arrow to toolbar 
if (getSupportActionBar() != null) { 
    getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
    getSupportActionBar().setDisplayShowHomeEnabled(true); 
} 

的另一種方式

變化

<android.widget.Toolbar 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/toolbar_1line" 
    android:layout_width="match_parent" 
    android:layout_height="?android:attr/actionBarSize" 
    android:minHeight="?android:attr/actionBarSize"> 
</android.widget.Toolbar> 

<Toolbar 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/toolbar_1line" 
    android:layout_width="match_parent" 
    android:layout_height="?android:attr/actionBarSize" 
    android:background="?attr/colorPrimary" 
    android:minHeight="?android:attr/actionBarSize"> 
</Toolbar> 

這很容易。

相關問題