Android - 向标题添加按钮

时间:2013-05-28 12:26:47

标签: android facebook user-interface themes android-titlebar

请告诉我,如何在标题栏中添加按钮。

  • 完全删除标题并使用ImageView创建自定义标题。

  • 使用其他方法

我的目标类似于Facebook应用程序 enter image description here

更新 API级别> = 10

2 个答案:

答案 0 :(得分:0)

我的解决方案使用自定义ViewGroup(来自RelativeLayout),因此我可以在不同的活动中使用它而无需复制粘贴xml。这是一个使用标题更新文本视图的简单示例。您可以为相对布局添加按钮,让它们以您需要的方式工作。

但如果您只有一个活动,那么将其作为活动主要布局的子布局包含它会更好

public class StatusBar extends RelativeLayout {

private TextView textViewTitle;

    public StatusBar(Context context, AttributeSet attrs) {
LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        layoutInflater.inflate(R.layout.ui_status_bar, this, true);
        super(context, attrs);
}

@Override
    public void onFinishInflate() {
        super.onFinishInflate();

        textViewTitle = (TextView) findViewById(R.id.textViewTitle);
}

private void updateStatusBar(String title) {
this.textViewTitle.setText(title)
}
}

和ui_status_bar.xml:

<?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="match_parent"
    android:background="@color/theme_color_darker"
    android:gravity="center_vertical" >

    <TextView
        android:id="@+id/textViewTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:layout_marginLeft="5dp"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textStyle="bold" />

</RelativeLayout>

在您的活动中,您可以像这样使用它:

<com.uicomponents.statusbar.StatusBar
    android:id="@+id/statusBar"
    style="@style/status_bar" />

答案 1 :(得分:0)

我认为,使用Android的Actionbar是最佳做法。 首选操作菜单,而不是自定义标题栏中的按钮。

请参阅:There's given refresh and edit action menu

有关动作栏的进一步实施,请参阅:

  1. http://www.vogella.com/articles/AndroidActionBar/article.html
  2. developer.android.com/guide/topics/ui/actionbar.html