2014-03-02 61 views
0

我有一个主要的Activity,我想添加几个按钮到ActionBar。据我了解,它是应用程序标题栏和3个用作菜单的点。这是我implementend代码:未能将自定义按钮添加到Android标题栏

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    ..... 
    ActionBar ab = getActionBar(); 
    ab.setCustomView(new TitleButtonView(this)); 
} 

而且TitleButtonView很简单:

public class TitleButtonView extends LinearLayout { 

    public TitleButtonView(Context context) { 
     super(context); 
     this.setLayoutParams(new LinearLayout.LayoutParams(200,50)); 
     Button b = new Button(context); 
     Button b1 = new Button(context); 
     b.setLayoutParams(new LinearLayout.LayoutParams(100,50)); 
     b1.setLayoutParams(new LinearLayout.LayoutParams(100,50)); 
     setOrientation(LinearLayout.HORIZONTAL); 
     addView(b); 
     addView(b1); 
     b.setText("Boton"); 
     b1.setText("Otro"); 
    } 
} 

我在做什么错?它不工作,因为setCustoView用于别的东西吗?

+0

发生了什么事?我们可以有错误信息或堆栈跟踪吗? – Smittey

+0

您需要调用[ActionBar.setDisplayShowCustomEnabled](https://developer.android.com/reference/android/app/ActionBar.html#setDisplayShowCustomEnabled(布尔值)) – adneal

+0

Ohh对不起。它没有显示。但@adneal是对的。演出习俗没有被调用。我添加了使它工作的线。谢谢您的帮助。 – aarelovich

回答

0

那么在阅读更多一点后,我发现这是需要添加的行。

ab.setDisplayOptions(ab.getDisplayOptions()| ActionBar.DISPLAY_SHOW_CUSTOM);

它通知操作栏显示自定义视图。

对不起,发生任何问题

相关问题