私はこれらを試してみました - しかしそれでも以前のようにアイコンが表示されません。
getSupportActionBar().setLogo(R.drawable.ic_launcher);
getSupportActionBar().setDisplayUseLogoEnabled(true);
getSupportActionBar().setIcon(R.drawable.ic_launcher);
私がカスタムツールバーを使うとき、それはうまくいくようです - しかし、それは私にすべてのレイアウトに触れることを強いるでしょう - そうするためのより良い方法はありますか?
getSupportActionBar().setDisplayShowHomeEnabled(true);
に加えて
getSupportActionBar().setIcon(R.drawable.ic_launcher);
現代のAndroid UIでは、開発者はアプリケーションアイコンよりも、視覚的に異なるツールバーの配色に頼るべきです。アプリケーションアイコンとタイトルを標準レイアウトとして使用することは、API 21以降のデバイスでは推奨されません。
同意しない場合は、次の方法で試すことができます。
XMLでツールバーを作成するには
<Android.support.v7.widget.Toolbar
Android:id="@+id/my_awesome_toolbar"
Android:layout_height="wrap_content"
Android:layout_width="match_parent"
Android:minHeight="?attr/actionBarSize"
Android:background="?attr/colorPrimary" />
あなたの活動の中で:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_layout);
Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
setSupportActionBar(toolbar);
}
これは私のために働いた:
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setDisplayUseLogoEnabled(true);
getSupportActionBar().setLogo(R.drawable.ic_logo);
getSupportActionBar().setDisplayShowTitleEnabled(false); //optional
と同様:
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setIcon(R.drawable.ic_logo); //also displays wide logo
getSupportActionBar().setDisplayShowTitleEnabled(false); //optional
最も簡単なこと。追加するだけです:
app:navigationIcon="@drawable/ic_action_navigation_menu">
<Android.support.v7.widget.Toolbar
タグへ
@drawable/ic_action_navigation_menu
はアイコンの名前です。
複数のオプションを設定するためのより良い方法:
setIcon/setLogo
メソッドはあなたがDisplayOptionsを設定した場合にのみ動作しますこれを試してみてください -
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_SHOW_TITLE);
actionBar.setIcon(R.drawable.ic_launcher);
LOGOを表示するためのオプションを設定することもできます(定数ActionBar.DISPLAY_USE_LOGO
を追加するだけです)。詳しい情報 - displayOptions
試してみてください。
ActionBar ab = getSupportActionBar();
ab.setHomeButtonEnabled(true);
ab.setDisplayUseLogoEnabled(true);
ab.setLogo(R.drawable.ic_launcher);
あなたが使用することができるようにあなたが家または戻るアイコン(ロゴや静的なアイコンではない)を設定したいならば
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeAsUpIndicator( getResources().getDrawable(R.drawable.home) );
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setIcon(R.drawable.ic_launcher);
またはは、XMLレイアウトでtool_bar.xml
を呼び出します。
<?xml version="1.0" encoding="utf-8"?>
<Android.support.v7.widget.Toolbar xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
xmlns:app="http://schemas.Android.com/apk/res-auto"
Android:background="@color/colorPrimary"
Android:theme="@style/ThemeOverlay.AppCompat.Dark"
Android:elevation="4dp">
<RelativeLayout
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:orientation="horizontal">
<ImageButton
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:background="@color/colorPrimary"
Android:src="@drawable/ic_action_search"/>
</RelativeLayout>
</Android.support.v7.widget.Toolbar>
今あなたの主な活動でこの行を追加する
<include
Android:id="@+id/tool_bar"
layout="@layout/tool_bar" />
アクションバーの場合:
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setHomeAsUpIndicator(R.drawable.ic_action_back);
ツールバーの場合:
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_action_back);
これを試して:
import Android.support.v7.app.ActionBar;
import Android.support.v7.app.AppCompatActivity;
...
ActionBar actionbar = getSupportActionBar();
actionbar.setDisplayHomeAsUpEnabled(true);
actionbar.setHomeAsUpIndicator(R.drawable.ic_launcher);
so your icon will be used for Home / back
or
import Android.support.v7.app.ActionBar;
import Android.support.v7.app.AppCompatActivity;
...
ActionBar actionbar = getSupportActionBar();
actionbar.setDisplayShowHomeEnabled(true);
actionbar.setIcon(R.drawable.ic_launcher);
静的アイコン用
toolbar.setLogo(resize(logo, (int) Float.parseFloat(mContext.getResources().getDimension(R.dimen._120sdp) + ""), (int) Float.parseFloat(mContext.getResources().getDimension(R.dimen._35sdp) + "")));
public Drawable resize(Drawable image, int width, int height)
{
Bitmap b = ((BitmapDrawable) image).getBitmap();
Bitmap bitmapResized = Bitmap.createScaledBitmap(b, width, height, false);
return new BitmapDrawable(getResources(), bitmapResized);
}
これを試して。私にとってはうまくいった
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayUseLogoEnabled(true);
Kotlinでは、アイコンを表示するために次のようにしました。
supportActionBar?.setDisplayShowHomeEnabled(true)
supportActionBar?.setIcon(R.drawable.ic_icon_small)
Xamarin.Androidでは、これらを使用することができます。
SupportActionBar.SetHomeButtonEnabled(true);
SupportActionBar.SetDisplayShowHomeEnabled(true);
SupportActionBar.SetDisplayUseLogoEnabled(true);
SupportActionBar.SetIcon(Resource.Drawable.ic_launcher);
SupportActionBar.SetDisplayShowTitleEnabled(false);
android.Support.V7.App.AppCompatActivityを使用する必要があります。