Форум программистов, компьютерный форум CyberForum.ru

При долгом нажатии вывести контекстное меню - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Как растягивать фон в layout только по горизонтали http://www.cyberforum.ru/android-dev/thread1045921.html
Есть layout, у него установлена картинка в качестве фона. Проблема в том, что картинка теряет пропорции при растягивании. Надо, чтобы картинка растягивалась только по горизонтали, а не вместившееся по вертикали обрезалось. Единственное, что пока приходит на ум, создать потомок layout в котором в методе onMeasure устанавливать фон из Drawable который предварительно обрезать через ClipDrawable....
Android Как заставить работать setImageLevel в потомке ImageView Имею такой layout: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center_vertical"> <ru.rafaelrs.necksaver.OnTopImageView android:layout_width="wrap_content" http://www.cyberforum.ru/android-dev/thread1045906.html
Android Android, XML ошибка при парсинге, универсальный парсер
У меня возникла проблема при парсинге (xmlPullParser), выдает ошибку, лог: 12-17 17:10:08.355: W/System.err(28761): org.xmlpull.v1.XmlPullParserException: Unexpected token (position:TEXT @1:2 in java.io.InputStreamReader@428a04b8) 12-17 17:10:08.365: W/System.err(28761): at org.kxml2.io.KXmlParser.next(KXmlParser.java:426) 12-17 17:10:08.365: W/System.err(28761): at...
Android Программно перемещать элементы на экране
На экране несколько ImageView элементов. Их нужно перемещать на экране. В Windows было просто объект.left , или .top ... и все легко "ездило" по координатной сетке. При программировании интерфейса на андроид таких аналогий не нашлось. Назревает вопрос - как перемещать элементы на экране? Для определенности добавлю: Делаю карточную игру, и непосредственно сами карты должны ездить по столу...
Android Организация структуры объектов http://www.cyberforum.ru/android-dev/thread1045335.html
Всем привет! Хочу задать вопрос по поводу организации структуры объектов в игре для дальнейшей обработки коллизий: например есть у меня класс World - уровень На уровне есть кирпич, игроки и монстры (используются разные классы без унаследований) Игроки и монстры должны сталкиваться с кирпичом где необходимо определять коллизию? если я правильно понимаю - то в классе World. Дальше например...
Android Объясните про поля класса Всем привет. Объясните, пжл., почему когда я в полях класса идентифицирую какую-нибудь view (например, вот так): EditText edTexEnterInterval = (EditText) findViewById(R.id.edTexEnterInterval); то приложение всегда вылетает с ошибкой, даже не запустившись. А если я view определяю в каком-нибудь методе, то всё нормально, всё работает. Почему так? подробнее

Показать сообщение отдельно
just_moment
 Аватар для just_moment
0 / 0 / 0
Регистрация: 25.03.2012
Сообщений: 38
18.12.2013, 20:31  [ТС]     При долгом нажатии вывести контекстное меню
Спасибо большое. Вроде должно работать правильно, но этого не происходит. Может я что то не так понимаю или делаю. Должно быть (изображение context_ment(true)), а выводит (изображение context_menu). Подскажите, пожалуйста, что не так.

BrowserActivity.java
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import android.app.Activity;
import android.app.Dialog;
import android.net.Uri;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;
import android.view.ContextMenu;
import android.view.KeyEvent;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.View.OnLongClickListener;
 
 
public class BrowserActivity extends Activity {
WebView webview;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.browser);
 
    WebView webView = (WebView) findViewById(R.id.webView);
    
    //Uri data = getIntent().getData();
    //webView.loadUrl(data.toString());
    //webView = (WebView) findViewById(R.id.webview);
    
    // включаем поддержку JavaScript
    webView.getSettings().setJavaScriptEnabled(true);
    // указываем страницу загрузки
    webView.loadUrl("about:blank"); 
    WebView webview = (WebView) findViewById(R.id.webView);
    registerForContextMenu(webview);
  
  webview.setOnLongClickListener(new OnLongClickListener() {
      @Override
      public boolean onLongClick(View v) {
          return false;
      }
  });
  }
  
  @Override
  public void onCreateContextMenu(ContextMenu menu, View v,
           ContextMenuInfo menuInfo) {
           MenuInflater inflateLayout = getMenuInflater();
           inflateLayout.inflate(R.menu.items, menu);
          super.onCreateContextMenu(menu, v, menuInfo);
         }  
         public boolean onContextItemSelected(MenuItem item) {
           switch (item.getItemId()) {
           case R.id.add:
            Toast.makeText(this, "Выбран пункт Добавить в коллекцию", 1000).show();
            showDialog(1);
               break;
              case R.id.back:
            Toast.makeText(this,"Вы вернулись к предыдущему экрану", 1000).show();
            break;
          }
           return super.onOptionsItemSelected(item);
         } 
         
         @Override
         protected Dialog onCreateDialog(int id) {
             return DialogFactory.getDialogById(1, this);
         }
     
 
}
DialogFactory.java
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
public class DialogFactory {
 
    public static int DIALOG_ALERT = 0;
 
    /**
     * Фабричный метод возвращающий
     * диалог по его коду
     *
     * @param id      код диалога
     * @param context
     * @return диалог соответствующий коду
     */
    public static Dialog getDialogById(int id, final Context context) {
        Dialog dialog = null;
        switch (id) {
            case 1:
                dialog = createInpuAler(context);
                break;
        }
 
        return dialog;
    }
 
    private static Dialog createInpuAler(final Context context) {
        Dialog dialog = null;
 
        AlertDialog.Builder builder = new AlertDialog.Builder(context);
        LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
 
        View layout = inflater.inflate(R.layout.dialog, null);
 
        final EditText address = (EditText) layout.findViewById(R.id.address);
        boolean d = address.requestFocus();
        Log.e("myaddress", new Boolean(d).toString()); //возвращает true
        
        
        final EditText comment = (EditText) layout.findViewById(R.id.comment);
        boolean c = comment.requestFocus();
        Log.e("mycomment", new Boolean(c).toString());
 
        DialogInterface.OnClickListener onClickListener = new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
             String input = address.getText().toString();
                Toast.makeText(context, input, Toast.LENGTH_SHORT).show();
            String com = comment.getText().toString();
            Toast.makeText(context, com, Toast.LENGTH_SHORT).show();
            }
        };
 
        dialog = builder.setPositiveButton("Добавить", onClickListener).setView(layout).create();
 
        return dialog;
    }
}
Миниатюры
При долгом нажатии вывести контекстное меню   При долгом нажатии вывести контекстное меню  
 
Текущее время: 04:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru