2015-09-08 2 views
0

Я работаю над дизайном Android UX. Я использую RelativeLayout. Я хочу сделать ниже экран в Android.Значок дисплея в верхней части экрана - Android

enter image description here

  1. Я хочу знать, как показать иконку в верхней части экрана (отмечены красным).
  2. Когда я нажимаю этот значок, я хочу показать информацию о приложении с черным фоном.

Я новичок в android, и я не знаю, как это сделать. Нужна помощь.

ответ

2

Это ActionBar (Панель инструментов) значок меню:

Вам нужно добавить файл меню в Рез/меню, как: main.xml формируется таким образом:

<menu 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" 
    tools:context=".MainActivity"> 

    <item 
     android:id="@+id/action_main" 
     android:title="@string/action_main" 
     android:orderInCategory="100" 
     android:icon="@drawable/ic_launcher" 
     app:showAsAction="ifRoom" /> 
</menu> 

Over " android: значок «идет тот, который вы хотите», android: title »тот, который вы хотите, когда пользователь долго нажимает значок.

EDIT Проверьте обновленный код с комментариями

Чтобы слушатель (OnClick действия) сделать это за активность:

@Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 

    @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_main){ 
      Toast.makeText(getApplicationContext(), "Main action is selected!", Toast.LENGTH_SHORT).show(); 

      // Toast only have a small duration to show something, 
      // even when you long press the item, the Title is also a 
      // Toast. You can literally do anything here. Show stuffs, 
      // hide it, open activities, close the app, etc 

      return true; 
     } 

     return super.onOptionsItemSelected(item); 
    } 
+0

Я пробовал, как вы руководствовались. Значок ic_launcher не отображается. Когда я нажимаю три точки слева, я вижу меню «Настройки» и при нажатии на меню настроек он отображается как «Основное действие выбрано!». Я хочу показать значок ic_launcher рядом с тремя точками. Можете ли вы посоветовать мне, как это сделать. – user2681579

+0

У вас есть другие элементы внутри файла меню? Вы должны изменить андроид: orderInCategory = "100", чтобы установить порядок. Кроме того, используйте android: showAsAction = "always", чтобы всегда видеть значок. В моем примере значок показывает, только если у вас есть «комната», чтобы показать его (возможно, маленький экран или заголовок слишком длинный) –

+0

У меня есть только один элемент внутри файла меню. android: orderInCategory и android: showAsAction - это то же самое, что вы сказали. Событие, после чего значок не отображается. Название имеет 10 символов. Пожалуйста, порекомендуйте. – user2681579

1
add in menul 
<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" > 
<item 
    android:id="@+id/phone" 
    android:title="@string/phone" 
    android:icon="@drawable/phone" 
    android:showAsAction="always" 
/> 
</menu 

After that in java 
    @Override 
public boolean onOptionsItemSelected(MenuItem item) { 

    super.onOptionsItemSelected(item); 

    switch(item.getItemId()){ 
     case R.id.phone: 
      Toast.makeText(getBaseContext(), "You selected Phone", Toast.LENGTH_SHORT).show(); 
      break; 

    } 
    return true; 
+0

Я попытался, как вы руководствоваться. Значок телефона не отображается. Когда я нажимаю три точки слева, я вижу меню «Настройки» и при нажатии на меню настроек он отображается как «Вы выбрали телефон». Я хочу показать значок телефона рядом с тремя точками. Можете ли вы посоветовать мне, как это сделать. – user2681579

+0

Эй, решила твоя проблема ?? – Mayuri

+0

Проблема с размером изображения. Я изменил изображение и работал на меня. – user2681579

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