2014-12-14 7 views
1

На панели действий отображается только заголовок, а значок приложения скрыт. Что я могу сделать, чтобы показать значок приложения?Как показать значок приложения в панели действий?

Я пробую много вещей, например, логотип и множество других кодов, но что-то работает.

MyActivity:

package com.example.myapp; 

import android.support.v7.app.ActionBar; 
import android.support.v7.app.ActionBarActivity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.View; 
import android.view.MenuItem; 

public class MyActivity extends ActionBarActivity { 
    private InterstitialAd interstitial; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main);   
    } 
} 

Мои Manifest:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.myapp" > 
    <uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
    <application 
     android:allowBackup="true" 
     android:icon="@drawable/icona" 
     android:label="@string/app_name" 
     android:theme="@style/Theme.AppCompat.Light.DarkActionBar" > 

     <meta-data android:name="com.google.android.gms.version" 
      android:value="@integer/google_play_services_version"/> 

     <activity 
      android:name=".MyActivity" 
      android:label="@string/app_name" 
      android:theme="@style/Theme.AppCompat.Light.DarkActionBar"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".Main2Activity" 
      android:label="@string/title_activity_main2" 
      android:theme="@style/Theme.AppCompat.Light.DarkActionBar"> 
     </activity> 
     <activity android:name="com.google.android.gms.ads.AdActivity" 
      android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/> 
    </application> 

</manifest> 

Моя раскладка активность:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:ads="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:background="@drawable/fons" 
    tools:context=".Myctivity"> 

    <LinearLayout 
     android:id="@+id/linearLayout1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:layout_margin="25sp" 
     android:orientation="horizontal" > 

      <TextView 
       android:id="@+id/textView1" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="hello world" /> 

    </LinearLayout> 

</RelativeLayout> 

И в моем main.xml я не какой-либо пункт

+0

Попробуйте [это] (http://stackoverflow.com/questions/27612424/v7-21-actionbaractivity-not-showing-the-app-main-icon-on-the-left/27625961#27625961) – Vintesh

ответ

1

Попробуйте сделать это после onCreate

getActionbar().setHomeButtonEnabled(true); 
getActionbar().setDisplayHomeAsUpEnabled(true); 
+0

Теперь У меня есть значок, но это не мой значок. Значок - стрелка. что я могу сделать, чтобы изменить на значок вместо стрелки? – ais3

+0

getActionbar(). SetIcon (R.drawable.my_icon); –

+0

Это не работает. Смотрите мою панель действий: [Панель действий] (http://i59.tinypic.com/2n24l5x.png) – ais3

0

Вы можете получить доступ к виду домашнего изображения непосредственно с

ImageView imgHome = (ImageView)findViewById(android.R.id.home); 

Вы можете попробовать изменить цвет фона, отступы или проверку видимости и т.д ... для отладки

imgHome.setBackgroundColor(Color.parseColor("#ff0000")); 

imgHome.setPadding(30, 0, 30, 0); 

if (imgHome.getVisibility() == View.VISIBLE) { 
    // visible 
} else { 
    // not visible 
} 

Хороших удачи.

+0

Этот код для api 11. Есть ли код для api 9? Также, когда я запускаю apk, это не сработает. В сообщении говорится: К сожалению, ваше приложение было закрыто – ais3

0

Вы можете установить приложение значка в своем ActionBar из вашего файла манифеста. Смотрите эти строки

<application 
    android:allowBackup="true" 
    android:icon="@drawable/icona" 
    android:label="@string/app_name" 
    android:theme="@style/Theme.AppCompat.Light.DarkActionBar" > 

Так @ вытяжка/ICONA означает, что у вас есть значок, который называется «ICONA» в ваших рисуемых папках.

Рез/вытяжке-ldpi, Рез/Drawable-MDPI ...

Так добавить свой файл icona.png в папках выше.

p.s Я не знаю, что вы имеете в виду, когда вы сказали «значок стрелка», но я могу представить, что вы имеете в виду кнопку со стрелкой вверх. Таким образом, это не значок вашего приложения, а значок вашего приложения находится в папках выше. Вы можете узнать больше о стрелке в android Api here.

Я надеюсь вам помочь!

+0

yes У меня есть значок (icona.png) в папках drawables. Выходы хорошо работают, потому что фоновое изображение хорошо работает и в студии Android, когда Iwrite: android: icon = "@ drawable/icona" в манифесте слева от экрана появляется значок. – ais3

0

Попробуйте это

mActionBar.setDisplayOptions (ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_USE_LOGO | ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar. DISPLAY_SHOW_HOME);

Смежные вопросы