自定义操作栏不会覆盖默认操作栏

时间:2015-07-19 15:59:15

标签: android android-custom-view custom-view

我实现了包含图片和按钮的自定义操作栏。它工作正常,但这个自定义操作栏显示在主操作栏下面。如何在主栏上覆盖它。请不要与应用程序名称或标题混淆。 Sample image

MainActivity.java的代码

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ActionBar actionBar = getSupportActionBar();
    View v1 = getLayoutInflater().inflate(R.layout.custom_drawer_item, null);
    actionBar.setCustomView(v1);
}
}

customlayout代码

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="70dp"
android:background="#00897B" >


<Button
    android:layout_width="190dp"
    android:layout_height="wrap_content"
    android:text="Register an event"
    android:textColor="#ffffff"
    android:background="#4db6ac"
    android:id="@+id/button1"
    android:layout_centerVertical="true"
    android:layout_alignParentStart="true" />

<ImageView
    android:layout_width="40dp"
    android:layout_height="wrap_content"
    android:id="@+id/imageView1"
    android:src="@drawable/refr"
    android:layout_alignParentTop="true"
    android:layout_alignParentEnd="true"
    android:layout_marginEnd="32dp" />


</RelativeLayout>

2 个答案:

答案 0 :(得分:0)

你需要在工具栏中设置操作栏,因为你正在使用AppCompatActivity。

搜索工具栏,使用它。它有一个方法可以用来设置动作栏。

在你的截图中,黑色部分是工具栏。

绿色部分是动作栏。

工具栏是根据材料指南的新设计,不推荐使用操作栏。

答案 1 :(得分:0)

正如Priya所说,使用ToolBar,并扩展ActionBarActivity

public class MainActivity extends ActionBarActivity{

@Override
protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);

       Toolbar toolBar = (Toolbar)findViewById(R.id.toolbar);
       setSupportActionBar(toolBar);
   }
}