如何在工具栏中添加图像

时间:2015-10-23 11:13:53

标签: android android-imageview android-toolbar

我正在关注this示例创建我的应用程序现在我正在尝试在我的工具栏中添加图像但图像未显示,我正在尝试设置我的应用程序徽标,以下是我的代码和工具栏xml可以谁能告诉我什么是错误?

toolbar.xml

Select * from Database1..Table1 tab1
join Database2..Table2 tab2 on tab1.ID = tab2.ID

MainActivity.java

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:local="http://schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:minHeight="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    local:theme="@style/MyMaterialTheme.Base"
    local:popupTheme="@style/ThemeOverlay.AppCompat.Light" >

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/toolbartitle"
        />

    </android.support.v7.widget.Toolbar>

这就是我的工具栏现在显示的方式

enter image description here

6 个答案:

答案 0 :(得分:21)

  <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="@color/color_blue"
            app:popupTheme="@style/AppTheme.PopupOverlay">

            <ImageView
                android:id="@+id/tv_header_title"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:src="@mipmap/header_title" />
        </android.support.v7.widget.Toolbar>

您也可以通过此方法设置事件按钮...

 public static void showToolBar(Toolbar toolbar,
                                   final AppCompatActivity activity) {
        activity.setSupportActionBar(toolbar);
        activity.getSupportActionBar().setDisplayShowTitleEnabled(false);
        @SuppressWarnings("deprecation")
        Drawable drawable = activity.getResources().getDrawable(
                R.mipmap.back_icon);
        drawable.setColorFilter(
                activity.getResources().getColor(R.color.color_white),
                android.graphics.PorterDuff.Mode.SRC_ATOP);
        activity.getSupportActionBar().setHomeAsUpIndicator(drawable);
        toolbar.setBackgroundColor(activity.getResources().getColor(
                R.color.color_blue));
        activity.getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        toolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                activity.finish();
            }
        });
    }

答案 1 :(得分:8)

使用操作栏上的徽标显示。

    getSupportActionBar().setLogo(R.drawable.logo);
    getSupportActionBar().setDisplayUseLogoEnabled(true);

答案 2 :(得分:7)

相反,您可以将图像设置为textview背景。在代码中使用android:background="@drawable/toolbartitle".和setTitle(“”)。

您的最终工具栏将显示为

 <?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:local="http://schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:minHeight="?attr/actionBarSize"
    android:background="@drawable/toolbartitle"
    local:theme="@style/MyMaterialTheme.Base"
    local:popupTheme="@style/ThemeOverlay.AppCompat.Light" >


    </android.support.v7.widget.Toolbar>

答案 3 :(得分:0)

您应该设置图像src属性,而不是将imageview背景设置为drawable。

[data-aspect-ratio] {
    display: block;
    max-width: 100%;
    position: relative;

    &:before {
        content: '';
        display: block;
    }

    > * {
        display: block;
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%;
    }
}
[data-aspect-ratio="3:1"]:before {
    padding-top: 33.33%;
}
[data-aspect-ratio="2:1"]:before {
    padding-top: 50%;
}
[data-aspect-ratio="16:9"]:before {
    padding-top: 56.25%;
}
[data-aspect-ratio="3:2"]:before {
    padding-top: 66.66%;
}
[data-aspect-ratio="4:3"]:before {
    padding-top: 75%;
}
[data-aspect-ratio="1:1"]:before {
    padding-top: 100%;
}
[data-aspect-ratio="3:4"]:before {
    padding-top: 133.33%;
}
[data-aspect-ratio="2:3"]:before {
    padding-top: 150%;
}
[data-aspect-ratio="9:16"]:before {
    padding-top: 177.77%;
}
[data-aspect-ratio="1:2"]:before {
    padding-top: 200%;
}
[data-aspect-ratio="1:3"]:before {
    padding-top: 300%;
}

答案 4 :(得分:0)

你错过了显示来源

android:src="@drawable/yourImage"

如果不起作用,请尝试添加一些真正的宽度和高度而不是换行内容

android:layout_width="50dp"
android:layout_height="50dp"  

答案 5 :(得分:0)

我犯了错误,我正在使用自定义工具栏xml进行检查,但我的activity_main.xml已经有了工具栏。希望我的回答也能帮助其他人

<input type="submit" name = "submit" value="submit"/>