如何创建自定义ActionBar?

时间:2016-10-27 15:39:01

标签: android android-actionbar android-xml

我是Android和Android的新手我想为我的应用程序创建一个自定义操作栏,如下图所示: enter image description here

我该如何创建?在圈子中,我想插入我的图像,而不是“欢迎”,我想写我的用户名。 我能为此做些什么? 感谢任何帮助。

修改

我的布局主题是AppTheme,它有一个我不想要的操作栏,如何删除它以插入自定义操作栏?

2 个答案:

答案 0 :(得分:0)

在Manifest文件中,在活动标记

中添加以下内容
android:label="Welcome"

您需要在您的activty xml文件中添加工具栏和浮动操作按钮 像这样添加工具栏作为AppBar的子项

<android.support.design.widget.AppBarLayout
            .....>

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                ...../>

        </android.support.design.widget.AppBarLayout>

对于Floating Action Button,在活动xml文件中添加以下内容

 <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="16dp"
        app:layout_anchor="@id/toolbar"
        app:layout_anchorGravity="bottom|right|end"
        <item name="android:src">@drawable/name_of_image</item>/>

答案 1 :(得分:0)

在搜索我的问题后,我找到了回复: 我创建了一个带有linearlayout的xml文件,并在其标签中添加了我在下面插入的代码。

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="120dp"
    android:layout_gravity="right">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:minHeight="?attr/actionBarSize"
        android:layout_width="match_parent"
        android:layout_height="80dp"
        android:background="@color/blue"
        >


    </android.support.v7.widget.Toolbar>
    <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/img1"
                    android:src="@drawable/books2"
                    android:background="@drawable/icon"
                    android:layout_alignParentTop="true"
                    android:layout_alignRight="@+id/toolbar"

        android:layout_gravity="bottom|right" />


</FrameLayout>

对于Imageview的形状,我使用此代码:

<?xml version="1.0" encoding="utf-8"?>

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">

<gradient
    android:angle="90"
    android:startColor="@color/blue"
    android:centerColor="@color/blue"
    android:endColor="@color/blue"
    android:type="linear"/>

<corners
    android:radius="70dp"
    />
<size
    android:height="40dp"
    android:width="40dp"
    />

我将其包含在我的活动布局XML文件中。

<include layout="@layout/titlebar"/>

对于我的这部分问题: 修改: 我的布局主题是AppTheme,它有一个我不想要的操作栏,如何删除它以插入自定义操作栏?

我将此代码添加到style.xml文件中:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
</style>

在标签内的AndroidManifest.xml文件中,我添加了这个:

android:theme="@style/AppTheme"

希望它对你有用。