AndroidアプリでToolbarのLogo(アイコン)が表示されない問題について

このQ&Aのポイント
  • ActionBarActivityが非推奨となり、AppCompatActivityを継承してActivityを作成したが、ToolbarのLogo(アイコン)が表示されない。
  • 開発環境はAndroid Studioで、実行環境はGalaxy SとGalaxy Note II。
  • アイコンファイルはdrawable-mdpiとdrawable-hdpi内のファイルを使用している。
回答を見る
  • ベストアンサー

Android プログラム

(ActionBarActivity が非推奨となり) AppCompatActivity を継承して Activity を作ってみたのですが、Toolbar の Logo(アイコン)が表示できません。 Toolbar の Logo(アイコン)の表示方法を ご存知の方が居ましたら ご教授下さいませm(_ _)m 開発環境は「Android Studio」、実行環境は「Galaxy S、Galaxy Note II」の2つの端末ですチェックしています アイコン・ファイルは「C:\Android\<sdk>\platforms\android-23\data\res」フォルダー内の「drawable-mdpi、drawable-hdpi」フォルダー内のファイルを使用しています。 > ActionBar oToolbar = getSupportActionBar( ); > oToolbar.setLogo(R.drawable.ic_menu_info_details); ↑両端末で表示できませんでした。 ちなみに「AndroidManifest.xml」内で「android:logo="@drawable/ic_menu_info_details"」と設定してもダメでした。

  • Java
  • 回答数1
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • HNEX
  • ベストアンサー率62% (43/69)
回答No.1

AndroidStudioでスケルトン生成されるプロジェクトで試してみるとThemeでActionBarを使用しない設定にした後に「android.support.v7.widget.Toolbar」をsetSupportActionBarに設定した後でならIcon又はLogoを表示する事が出来ました。 なお、ThemeでActionBarを使用する設定の場合にはsetSupportActionBarでエラーになりました

amanojaku1
質問者

お礼

有難うございました、正常に表示できましたm(_ _)m てっきり「setIcon(~)」はアプリ・アイコンかと勘違いしておりましたが、Toolbar(向かって左側) に Icon を表示できるんですね。 > ThemeでActionBarを使用しない設定にし 『AndroidManifest.xml』内 <application android:theme="@style/AppTheme" ~ 『values/styles.xml』内 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> > 「android.support.v7.widget.Toolbar」をsetSupportActionBarに設定し 『layout/activity_main.xml』内 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" ~ <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?attr/actionBarSize" android:background="#9b7fff" app:theme="@style/ThemeOverlay.AppCompat.ActionBar" /> > Icon又はLogoを表示する 『MainActivity.java』内 Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); ActionBar oActionBar = getSupportActionBar( ); // oActionBar.setLogo(R.drawable.~); // Toolbar に LogoIcon を表示。 oActionBar.setIcon(R.drawable.~);// Toolbar に Icon を表示。

関連するQ&A

  • Androidアプリに関して

    現在menu .xmlを作成しています。Webサイトを参考に作成してるのですが、 android:icon="@drawable/ic_menu_edit" これは階層はどうしたらよいのでしょうか? drawableというフォルダはプロジェクトの直下に置くのでしょうか? それともmenu .xml と同じ階層でしょうか?

    • ベストアンサー
    • Java
  • Android Icon のイベント

    ActionBarActivity が非推奨となり AppCompatActivity を継承して Activity を作ってみたのですが、Toolbar の Icon のイベントの取得方法が分かりません。 (ここで「Icon又はLogoの表示」を ご教授いただいたばかりなのですが) Toolbar の Icon のイベントの取得は そんなに難しくないだろうと思って、イロイロ検索しても全然ダメでした。 Toolbar の Icon のイベントの取得方法を ご存知の方が居ましたら ご教授下さいませm(_ _)m ◆ ThemeでActionBarを使用しない設定 『AndroidManifest.xml』内 <application android:theme="@style/AppTheme" ~ 『values/styles.xml』内 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> ◆「android.support.v7.widget.Toolbar」をsetSupportActionBarに設定 『layout/activity_main.xml』内 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" ~ <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?attr/actionBarSize" android:background="#9b7fff" app:theme="@style/ThemeOverlay.AppCompat.ActionBar" /> ◆ Iconを表示 『MainActivity.java』内 Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); ActionBar oActionBar = getSupportActionBar( ); // oActionBar.setLogo(R.drawable.~); // Toolbar に LogoIcon を表示。 oActionBar.setIcon(R.drawable.~);// Toolbar に Icon を表示。

  • Androidアプリ開発に関する質問です。

    Androidアプリ開発に関する質問です。 Bitmap bmp = BitmapFactory.decodeResource(getResources(),R.drawable.xxx); という記述でres/drawable-hdpi/xxx.png の画像を持ってくることができると思うのですが、 データベースに保存したString型のxxxを使って動的に画像を表示する方法が分かりません。 データベースから画像名を持ってくる前に、String型の変数(仮にstrとする)に画像名を入れて、 Bitmap bmp = BitmapFactory.decodeResource(getResources(),R.drawable.str); と記述してもstrを変数として扱ってくれません。 どなたかres/drawable/の画像を動的に持ってくる方法を教えて頂けないでしょうか。

    • ベストアンサー
    • Java
  • Androidのbitmap表示について

    Androidのbitmap表示について res フォルダ内に drawable というフォルダをつくり、そこに 100pixel (チェック) 100pixel の画像を入れ込んでいます。 そして、bitmapを作成して c.drawBitmap( bitmap0, 0 , 0 , null ); のような感じで表示しているのですが、サイズが100(チェック)100になっていないようなのです。 (勝手に大きくなってる?) なぜでしょうか?

    • ベストアンサー
    • Java
  • Androidの画面遷移ができません(その2)

    前回の質問の続きです. 今度はページXXXXXから3つのボタン(AAAAA,BBBBB,CCCCCと仮定)を画面上に表示させ,ボタンに記載された通りの各ページAAAAA,BBBBB,CCCCCに画面遷移しようと考えています. AAAAA,BBBBB,CCCCCにはそれぞれ異なった画像が表示されるようにプログラミングしてあるのですが,すべてのボタンを押してもページAAAAAに画面遷移してしまい困っています. おそらくAndroidManifest.xmlの定義が間違えているのではないかと思っているのですが,どこに原因があるのでしょうか?解答よろしくお願いします. 【AndroidManifest.xml】 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="sample.XXXXX" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="9" /> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".XXXXX" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="AAAAA"></activity> <activity android:name="BBBBB"></activity> <activity android:name="CCCCC"></activity> </application> </manifest>

  • Androidの新着件数表示について

    Galaxy s3を使っています。 以前はiphoneを使っていましたがAndroidではiphoneのようにLINEなどのアイコンに新着件数を表示できないのでしょうか? ADW notifierでメールなどに表示できることは知っています。 なにかアプリなどはありませんか? ちなみにホームは現在Atomを使っています。

  • CoolBarにメニューを表示する方法

    CoolBarにメニューを表示したり、ToolBarのようにアイコンを表示したりしたいのですがわかりません。 どなたか教えてください。

  • androidアプリ開発 -間違い探しアプリ-

    androidの間違い探しアプリを作ろうと思っています。 イメージ的には背景用のImageViewに画像を表示して、 間違っている箇所にカラのImageViewを載せ、 ImageViewがクリックされたら正解というような仕組みにしようと思っています。 そこで、下記コードを書いています。 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center_vertical" > <ImageView android:id="@+id/mainImage" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/stage1" ></ImageView> <ImageView android:id="@+id/onImage" android:layout_width="40dip" android:layout_height="40dip" android:layout_marginLeft="240dp" android:layout_marginTop="180dp" android:onClick="seikai" /> </RelativeLayout> が、解像度や画面サイズによってカラのImageViewの場所が変わってしまい、うまくいきません。 resフォルダ内に 「layout-land-hdpi」 「layout-land-ldpi」 「layout-land-mdpi」 「layout-land-xhdpi」 フォルダを作り、解像度ごとに位置の微調整は行なっていますが、 画面サイズが異なるとやはりずれてしまいます。 解像度、画面サイズにかかわらず位置を固定する方法はないのでしょうか。 ない場合はやはり画面サイズと解像度すべての条件のxmlを作成する必要がありますか。 また、そもそも 「イメージ的には背景用のImageViewに画像を表示して、間違っている箇所にカラのImageViewを載せる」やり方が間違っているのでしょうか。

  • androidのショートカットについて

    HTC Desire HDを使ってます ショートカットを分類訳したフォルダーを作っています 再起動するとSDカードに保存してあるアプリのアイコンがきちんと表示されません(アンドロイドの絵になりま す) 表示だけでタッチをするとアプリは立ち上がります 仕様なのでしょうか?

  • Android9をMTP接続してのウイルスチェック

    ESET Internet Securityを導入しているwindows10マシンとAndroid9端末とをUSBケーブルで接続(MTP接続)しました。 windows10のエクスプローラーから、当該Android9端末のアイコンやアイコン内のフォルダは見えるものの、右クリックすると、「ESETで検査する」メニューが表示されません。(グレーアウトではありません) 通常のデータを右クリックから検査するように、当該Android9端末内のデータをESETで検査するためには、どうすればよいでしょうか。 ※OKWAVEより補足:「ESETセキュリティ ソフトウェア シリーズ」についての質問です。