android:添加按钮到应用程序的标题?

时间:2010-04-02 23:51:21

标签: android layout

是否可以在应用标题的右上角添加一个按钮?

例如,在“Feed:my feeds”标题中添加“刷新”按钮?

http://www.android.com/market/apps/feedr-lg-01.jpg alt text http://www.android.com/market/apps/feedr-lg-01.jpg

4 个答案:

答案 0 :(得分:16)

最简单的方法是恕我直言,摆脱清单中android:theme="@android:style/Theme.NoTitleBar"元素中的标准标题栏(<activity>)并将自己的“标题栏”放在顶部活动。

请注意,“标题栏中的按钮”样式更像是iPhone-ish。 Android通常会在选项菜单中使用它,因此UI不会混乱(以两次点击为代价进行刷新)。

答案 1 :(得分:3)

你为什么不试试这个

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    final boolean customTitle= requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);

    setContentView(R.layout.main);

    if ( customTitle ) {
        getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, Set your layout for title here and mention your button in this layout);
    }

    final TextView myTitleText = (TextView) findViewById(R.id.myTitle);
    if ( myTitleText != null ) {
        myTitleText.setText("NEW TITLE");
        myTitleText.setBackgroundColor(Color.BLUE);
    }
}

答案 2 :(得分:3)

是的,这解决了我的问题...修剪版本低于......

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);

    setContentView(R.layout.main);
    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, Set your layout for title here and mention your button in this layout);

   final TextView myTitleText = (TextView) findViewById(R.id.myTitle);
    if ( myTitleText != null ) {
        /*  your code here */
    }
}

答案 3 :(得分:1)

我认为更好的方法是只使用Handler刷新视图是否处于活动状态。如果您在活动恢复时拉动内容,那么无论何时离开并返回视图,它都会刷新。如果您希望用户坐在视图的顶层并需要更新信息,那么您可以使用延迟处理程序处理此问题,该处理程序将调用您的resume方法并定期刷新视图,从而无需按钮。

Here是处理程序类文档的链接。我将首先研究处理程序的基本用法。然后测试sendMessageDelayed方法,以便在每次调用结束时重新启动处理程序。另外,如果您的活动是最活跃的,请确保只创建一个新的处理程序,如果不是,则不要打扰刷新ui。在暂停和恢复时添加一个简单的isActive标志是检查这一点的好方法。