如何动态更改自定义工具栏图标
How can I change my custom toolbar icon dynamically
在我的应用程序中,我使用的是 toolbar
,其中包含 imageview
。我需要动态更改图像视图。
这是我的toolbar.xml:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:background="@color/white"
android:id="@+id/toolbar"
app:theme="@style/ToolbarStyle" >
<ImageView
android:id="@+id/actionBarImage"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_gravity="center"
android:layout_marginRight="65dp"
android:src="@drawable/forewarn"/>
</android.support.v7.widget.Toolbar>
这是 activity 中的工具栏声明:
final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
final ImageView imageInToolbar = (ImageView) toolbar.findViewById(R.id.actionBarImage);
setSupportActionBar(toolbar);
final android.support.v7.app.ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
// getSupportActionBar().setLogo(R.drawable.abc);
}
这是我实际的工具栏:
我需要的带有图像视图动态变化的工具栏:
试试这个:
final ImageView imageInToolbar = (ImageView) toolbar.findViewById(R.id.actionBarImage);
setSupportActionBar(toolbar);
imageInToolbar.setImageDrawable(ContextCompat.getDrawable(this, R.drawable.abc));
从服务器加载图像:
对于 Glide 使用:
Glide.with(this)
.load(url)
.into(imageInToolbar);
在 gradle 中:compile 'com.github.bumptech.glide:glide:3.8.0'
供毕加索使用:
Picasso.with(this).load(url).into(imageInToolbar);
试试这个
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayShowTitleEnabled(false);
toolbar.setNavigationIcon(getResources().getDrawable(R.drawable.back_arrow));
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
在我的应用程序中,我使用的是 toolbar
,其中包含 imageview
。我需要动态更改图像视图。
这是我的toolbar.xml:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:background="@color/white"
android:id="@+id/toolbar"
app:theme="@style/ToolbarStyle" >
<ImageView
android:id="@+id/actionBarImage"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_gravity="center"
android:layout_marginRight="65dp"
android:src="@drawable/forewarn"/>
</android.support.v7.widget.Toolbar>
这是 activity 中的工具栏声明:
final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
final ImageView imageInToolbar = (ImageView) toolbar.findViewById(R.id.actionBarImage);
setSupportActionBar(toolbar);
final android.support.v7.app.ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
// getSupportActionBar().setLogo(R.drawable.abc);
}
这是我实际的工具栏:
我需要的带有图像视图动态变化的工具栏:
final ImageView imageInToolbar = (ImageView) toolbar.findViewById(R.id.actionBarImage);
setSupportActionBar(toolbar);
imageInToolbar.setImageDrawable(ContextCompat.getDrawable(this, R.drawable.abc));
从服务器加载图像:
对于 Glide 使用:
Glide.with(this)
.load(url)
.into(imageInToolbar);
在 gradle 中:compile 'com.github.bumptech.glide:glide:3.8.0'
供毕加索使用:
Picasso.with(this).load(url).into(imageInToolbar);
试试这个
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayShowTitleEnabled(false);
toolbar.setNavigationIcon(getResources().getDrawable(R.drawable.back_arrow));
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});