如何创建Android自定义标题栏

时间:2012-01-11 01:30:29

标签: android customization titlebar

我尝试在Android上构建应用程序。 我是Android的新手。 但我不知道如何构建这样的标题栏。 因此,我们可以使用选项卡按钮为Seesmic和Komutta提供应用程序名称。 任何人都可以帮助我给出答案或只是该教程的链接吗?

谢谢。

https://lh6.ggpht.com/Hf6XKfa9K0B-CvlV6tD6qj2Yt8wJcyJ7wa8vE9BVkBbUDm0Y2pqOxgxVf7auQgXrh0gR

https://lh4.ggpht.com/rwceS5ZK1IZkHHCVixbaXlsHXwstpmIO888aMC4U0uD2oa54NiGvphcp_penGK9Q9WE

对不起,我无法上传图片,所以我只能给出该图片的链接。

3 个答案:

答案 0 :(得分:1)

这被称为“动作栏”,你可以从Android 3.0开始,或者在早期版本的android here.上抓取代码来实现它。

答案 1 :(得分:0)

安卓网站有一个演示版,您可以查看CustomTitlehow-to-create-custom-window-title-in-android

答案 2 :(得分:0)

  1. 创建一个新项目并将您的主要活动命名为“MyActivity”
  2. 转到res-drawable并创建一个新的xml文件并将其命名为“custom_title_background”并输入以下代码:

                                            

    <item android:top="20dp">
        <shape android:shape="rectangle">
            <gradient android:angle="90" android:endcolor="#9eacbf" android:startcolor="#8296af">
        </gradient></shape>
    </item>
    

  3. 此drawable将用于设置custom_title_bar的背景(从步骤3开始),并从custom_title_style(从步骤4开始)设置windowTitleBackgroundStyle

    1. 转到res-layout并创建一个新的xml并将其命名为“custom_title_bar”。在这里,您将创建一个带有文本视图的布局,如下面的代码所示:

      <TextView android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="16sp"
                android:textColor="@android:color/white"
                android:textStyle="bold"
                android:id="@+id/custom_title_text"
                android:layout_centerInParent="true"
                android:shadowColor="@android:color/black"
                android:shadowRadius="3"/>
      

    2. 转到res - values并创建一个新的xml文件并将其命名为custom_title_style。在这里,您将通过覆盖现有主题来创建新主题。下面的样式“custom_title_theme”的名称将用于清单文件中以“激活”新主题。

                   40dp         @绘制/ custom_title_background         

    3. 现在转到AndroidManifest.xml文件并将新主题放在应用程序标记中。

    4. ? 1

      1. 在最后一步,您必须转到MyActivity类并输入以下代码:

        import android.app.Activity; import android.os.Bundle; import android.view.Window; import android.widget.TextView;

        公共类MyActivity扩展了Activity {

        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
        
            //this must be called BEFORE setContentView
            requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
        
            setContentView(R.layout.main);
        
            //this must bew called AFTER setContentView
            getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title_bar);
        
            //set the title
            TextView textView = (TextView)findViewById(R.id.custom_title_text);
            textView.setText("Custom Title");
        }
        

        }