Блок элементов меню Тост [дубликат]

Прежде всего ^ является Побитовым оператором XOR не силовым оператором.

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

. Вот программа для поиска x ^ y ie xy

double i, x, y, pow;

x = 2;
y = 5; 
pow = 1;
for(i=1; i<=y; i++)
{
    pow = pow * x;
}

printf("2^5 = %lf", pow);

Вы также можете просто используйте функцию pow () для поиска мощности любого числа

double power, x, y;
x = 2;
y = 5;
power = pow(x, y); /* include math.h header file */

printf("2^5 = %lf", power);

17
задан AdaMoOo 1 July 2013 в 16:37
поделиться

10 ответов

Вы можете попытаться создать свой собственный ActionBar. Вот учебник о том, как это сделать: Пользовательская панель действий

0
ответ дан BC2 25 August 2018 в 10:42
поделиться

посмотрите на этот вопрос, я уверен, что вы хотите этого достичь.

0
ответ дан Community 25 August 2018 в 10:42
поделиться

Для меня решение использовало:

android.support.v4.view.MenuItemCompat

Итак, вместо раздувания меню из XML:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.refresh_menu, menu);
    return true;
}

Я создал элементы программным способом с помощью MenuItemCompat:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuItem refreshItem = menu.add(Menu.NONE, R.id.menu_item_refresh, Menu.NONE, R.string.general_pop_up_dialog_btn_cancel);
    MenuItemCompat.setActionView(refreshItem, R.layout.actionbar_custom_view_refresh);
    MenuItemCompat.setShowAsAction(refreshItem, MenuItemCompat.SHOW_AS_ACTION_ALWAYS);
    return true;
}
0
ответ дан CookieMonster 25 August 2018 в 10:42
поделиться

Единственный способ скрыть тост - это когда вы устанавливаете пункт меню ActionBar для отображения с текстом. android:showAsAction="withText". В противном случае тост добавляет уточнение того, что представляет каждый элемент действия, даже если для элемента меню нет названия.

6
ответ дан hardartcore 25 August 2018 в 10:42
поделиться

Есть способ, если вы используете ActionBarSherlock. Найдите файл ActionMenuItemView.java в библиотеке и просто прокомментируйте весь метод onLongClick.

-2
ответ дан kitayozamonk 25 August 2018 в 10:42
поделиться

В расписании onCreateOptionsMenu задайте задачу, чтобы отключить длинный щелчок по нужному пункту меню. Вот пример

    @Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {

    inflater.inflate(R.menu.my_menu, menu);
    new Handler().post(new Runnable() {
        @Override
        public void run() {
            final View v = getActivity().findViewById(R.id.your_menu_item);
            if (v != null) {
                v.setOnLongClickListener(new View.OnLongClickListener() {
                    @Override
                    public boolean onLongClick(View v) {
                        return false;
                    }
                });
            }
        }
    });
}
3
ответ дан mallaudin 25 August 2018 в 10:42
поделиться

Вероятно, самый чистый способ сделать это - назначить настраиваемое действие для вашего элемента меню, который имитирует внешний вид обычного.

Поскольку вы упомянули, что используете ActionBarSherlock, вот простой Пример.

Представьте следующий menu.xml, который накачивается в Activity.

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:id="@+id/ab_main_menu_dots"
        android:actionLayout="@layout/ab_main_menu_dots_layout"
        android:showAsAction="always"/>
</menu>

Вы можете определить ab_main_menu_dots_layout.xml, чтобы имитировать кнопку переполнения следующим образом:

<ImageButton xmlns:android="http://schemas.android.com/apk/res/android"
    style="@style/Widget.Sherlock.ActionButton.Overflow"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

Результатом является элемент меню, который выглядит как кнопка переполнения и не отображает сообщение Toast при длительном нажатии, независимо от того, используется ли родной ActionBar или ABS. До вас взять это отсюда. Вместо этого вы хотите пересмотреть и соблюдать рекомендации.

4
ответ дан MH. 25 August 2018 в 10:42
поделиться

Вы можете изменить onLongClick в классе ActionMenuItemView , чтобы остановить поджаривание при длительном нажатии. но будьте осторожны. Он работает только на устройствах с API менее 11, потому что библиотека sherlockactionbar, проверяющая уровень API вашего устройства на Build.VERSION.SDK_INT, и если у вас есть новое устройство, оно просто использует панель действий по умолчанию, которую вы не изменяете.

5
ответ дан Sadegh 25 August 2018 в 10:42
поделиться

Вы можете добиться этого, используя пользовательский вид действия, как показано ниже:

action_menu.xml
    <menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:support="http://schemas.android.com/apk/res-auto" >

    <item
        android:id="@+id/item1"
        support:showAsAction="always">
    </item>

</menu>

custom_action_view.xml

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_margin="10dp"
        android:paddingRight="5dp" >

    <ImageButton
        android:id="@+id/customActionItem"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:background="@drawable/abc_item_background_holo_dark"
        android:src="@drawable/bulb_icon" />

    </RelativeLayout>

и код меню надувного меню:

    public boolean onCreateOptionsMenu(Menu menu) {
        // TODO Auto-generated method stub
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.action_menu, menu);     

        final MenuItem item1= menu.findItem(R.id.item1);
        MenuItemCompat.setActionView(item1, R.layout.custom_action_view);
        View vItem1= MenuItemCompat.getActionView(item1);

        final ImageButton customActionItem= (ImageButton) vItem1.findViewById(R.id.customActionItem);
        customActionItem.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                // do something here
            }
        });

        return super.onCreateOptionsMenu(menu);
    }
1
ответ дан user 25 August 2018 в 10:42
поделиться

Вот как я это сделал:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_main, menu);
    MenuItem item = menu.findItem(R.id.no_toast);
    item.setActionView(R.layout.custom_view);
    item.getActionView().setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            //handle click (just this item)
        }
    });
    return true;
}

, и это мое меню:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <item
        android:title="Never gonna see me in a toast!"
        app:showAsAction="always"
        android:id="@+id/no_toast" />
</menu>

мой пользовательский вид - это просто ImageButton:

<?xml version="1.0" encoding="utf-8"?>
<ImageButton xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    style="@style/Widget.AppCompat.Toolbar.Button.Navigation"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:src="@drawable/icon" />

Примечание: не забудьте установить стиль, Widget.AppCompat.Toolbar.Button.Navigation позволяет правильно отображать IamgeButton на панели инструментов.

PS: Лично я предпочитаю поведение по умолчанию, но это был мой случай : Я отключил право налево для своего приложения, и после этого, когда я установил языковой стандарт по умолчанию на язык rtl , тост появлялся не в ту сторону! Честно говоря, я торопился и не узнал причину, но я буду признателен, если кто-нибудь сообщит мне, почему, во всяком случае, так я прошел.

3
ответ дан ҒάгՏҺαԃ ッ 25 August 2018 в 10:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: