簡體   English   中英

Android:動作欄中未顯示圖標

[英]Android : Icons not showing in actionbar

我正在嘗試在操作欄中顯示兩個圖標,其中一個是帶有幾個孩子的菜單。 但是,我不能。 我在SO中測試了其他類似問題的一些答案,但無濟於事。 甚至沒有一個圖標出現。 這是代碼。 謝謝你的幫助。

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context="com.semantic.semanticOrganizer.sem.activities.HomeActivity" >

<item android:id="@+id/viewTags"
    android:icon="@drawable/ic_action_labels"
    app:showAsAction="always"
    android:title="Tags"
    />

<item
    android:id="@+id/a_More"
    android:icon="@drawable/ic_more_vert_white_36dp"
    app:showAsAction="always"
    android:title="More">
    <menu>
<item android:id="@+id/action_view_notes"
    android:title="Notes"
    android:orderInCategory="100"
    app:showAsAction="never" />

<item android:id="@+id/action_view_habits"
    android:title="Habits"
    android:orderInCategory="100"
    app:showAsAction="never" />
<item android:id="@+id/action_view_checklists"
    android:title="Checklists"
    android:orderInCategory="100"
    app:showAsAction="never" />
<item android:id="@+id/action_view_tags"
    android:title="Tags"
    android:orderInCategory="100"
    app:showAsAction="never" />
<item android:id="@+id/action_settings"
    android:title="@string/action_settings"
    android:orderInCategory="100"
    app:showAsAction="never" />
    </menu>

  </item>
</menu>

Java代碼

public class HomeActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_home);

    stuffWhichDoesNotInvolveGettingActionBar();

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu items for use in the action bar
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.home, menu);
    return super.onCreateOptionsMenu(menu);
}


@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();
    if (id == R.id.action_settings) {
        return true;
    }
    if (id == R.id.action_view_tags) {
        return true;

    }
    if (id == R.id.action_view_notes) {
        return true;
    }
    if (id == R.id.action_view_checklists) {
        return true;
    }
    if (id == R.id.action_view_habits) {
        return true;
    }

    return super.onOptionsItemSelected(item);
}


private void stuffWhichDoesNotInvolveGettingActionBar(){
   //Code
}

編輯:正如Neutrino所建議的,我試圖轉向appCompat主題。 但是,此錯誤出現在Win64計算機上。 屬性“ actionModeShareDrawable”的資源未找到錯誤。 我將compileSdkVersion更改為21並完成了工作。 因此,我現在可能不得不在沒有AppCompat的情況下進行操作。 我目前正在使用Holo。 因此,請提出針對Holo主題的修復程序。

編輯我找到了解決方法,通過使用支持庫的v20而不是v21解決了我提到的錯誤,因為我發現Gradle 2.3生成系統尚未在Android中解決,並且該錯誤僅在該版本中得到了解決(一個錯誤已修復的Jar Groovy 2.3.5版已發布)。 然后,我可以使用ActionBarActivity,現在可以看到操作欄圖標了。 謝謝大家,尤其是誇克。

擴展ActionBarActivity而不是Activity ,即make

public class HomeActivity extends Activity 

public class HomeActivity extends ActionBarActivity

編輯

現在不建議使用ActionBarActivity來支持工具欄。 要使用工具欄,請使用-

public class HomeActivity extends AppCompatActivity

確保在build.gradle (Module: app)包含最新版本的支持庫build.gradle (Module: app) -

dependencies {
    compile 'com.android.support:appcompat-v7:22.1.1'
}

在此處此處此處閱讀有關工具欄和AppCompatActivity更多信息。

我嘗試編譯您的代碼,以下代碼對我有用。 將要顯示圖標的所有菜單項替換為android:showAsAction app:showAsAction

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM