1 голос
 
595 просмотров
21.08.2018 / 14:07  garfild63

Команды в Android

Как сделать так, чтобы в Android при отображении как какого-нибудь Layout, так и Canvas, в нижней части экрана отображались тексты левой и правой функциональных клавиш (а возможно и центральной), а если команд более 2-3, то при нажатии на левую клавишу чтобы отображалось менюшка (не на весь экран), в которой можно выбрать одну из нескольких команд. Короче, кто хоть раз пользовался Java ME-прогами на клавишных телефонах, тот поймёт, о чём я ;-)
Просто во всех существующих эмуляторах Commands отображаются посредством Button'ов, а я хочу, чтобы отображалась полосочка с названием команд, как в клавишных телефонах, ибо когда этих команд слишком много в канвасе, эти батоны мешают канвасу. В канвасе я, в принципе, смогу это реализовать, а как эту полосочку реализовать в Layout'е? Помогите, пожалуйста.
PS. И ещё, подскажите, пожалуйста, какой Layout мне нужно использовать, чтобы если вдруг все элементы Layout'а не поместились на экран, то я мог бы прокрутить вниз и нижние элементы отобразятся? А то я, помню, делал одну программу на андроиде, там в Layout'е должна была отображаться картинка, а под ней - текст. И так как картинка была на весь экран, я текст под ней не видел, пытался прокрутить вниз, но не смог( Как сделать так, чтобы в Layout'е можно было прокрутить вниз, элементы прокручивались, но "полосочка" с командами оставалась бы на своём месте?
Изм. garfild63 от 21.08.2018 / 14:08
Ответы
 
1 голос
 
# 21.08.2018 / 15:22  Aladdin
На javafx делаю так:
  1. - AnchorPane (600x400)
  2.     + ScrollPane (fitToParent)
  3.     + Buttons (rightAnchor: 10, bottomAnchor: 10)
Buttons находится поверх ScrollPane и прикрепляется к нижнену правому углу.
Buttons делаешь Popup, что мог открываться как контекстное меню.
На андроид тож должна быть такая фича, посмотри внимательно доки
Или же пиши на JavaFxPorts
Изм. Aladdin от 21.08.2018 / 15:27
 
0 голосов
 
# 26.08.2018 / 21:26  SuperSystem
  1. public class MainActivity extends Activity
  2. {
  3.  private LinearLayout ll,l;
  4.  private TextView t0,t1,t2,t;
  5.  private Button btn;
  6.  private boolean menu;
  7.  public void onCreate(Bundle savedInstanceState)
  8. {
  9.   super.onCreate(savedInstanceState);
  10.   getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
  11.   requestWindowFeature(Window.FEATURE_NO_TITLE);
  12.   menu = true;
  13.   ll = new LinearLayout(this);
  14.   l = new LinearLayout(this);
  15.   l.setOrientation(1);
  16.   t = new TextView(this);
  17.   t0 = new TextView(this);
  18.   t1 = new TextView(this);
  19.   t2 = new TextView(this);
  20.   t.setTextColor(0);
  21.   t0.setTextColor(0);
  22.   t1.setTextColor(0);
  23.   t2.setTextColor(0);
  24.   t.setTextSize(50);
  25.   t.setText("true");
  26.   t0.setTextSize(50);
  27.   t0.setText("true");
  28.   t1.setTextSize(50);
  29.   t1.setText("true");
  30.   t2.setTextSize(50);
  31.   t2.setText("true");
  32.   t.setClickable(false);
  33.   t0.setClickable(false);
  34.   t1.setClickable(false);
  35.   t2.setClickable(false);
  36.   t.setOnClickListener(new OnClickListener(){
  37.    public void onClick(View v){
  38.     if (t.getText() == "true"){
  39.      t.setText("false");
  40.     }else{
  41.     t.setText("true");
  42.     }
  43.    }
  44.   });
  45.   t0.setOnClickListener(new OnClickListener(){
  46.             public void onClick(View v){
  47.                 if (t0.getText() == "true"){
  48.                     t0.setText("false");
  49.                 }else{
  50.                     t0.setText("true");
  51.                 }
  52.             }
  53.         });
  54.     t1.setOnClickListener(new OnClickListener(){
  55.             public void onClick(View v){
  56.                 if (t1.getText() == "true"){
  57.                     t1.setText("false");
  58.                 }else{
  59.                     t1.setText("true");
  60.                 }
  61.             }
  62.         });
  63.     t2.setOnClickListener(new OnClickListener(){
  64.             public void onClick(View v){
  65.                 if (t2.getText() == "true"){
  66.                     t2.setText("false");
  67.                 }else{
  68.                     t2.setText("true");
  69.                 }
  70.             }
  71.         });
  72.     btn = new Button(this);
  73.     ll.addView(btn,LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
  74.     btn.setText("false");
  75.     btn.setOnClickListener(new OnClickListener(){
  76.             public void onClick(View v){
  77.                 if (menu){
  78.                     menu = false;
  79.                     btn.setText("true");
  80.                     t.setClickable(true);
  81.                     t0.setClickable(true);
  82.                     t1.setClickable(true);
  83.                     t2.setClickable(true);
  84.                     t.setTextColor(0xff00ff00);
  85.                     t0.setTextColor(0xff00ff00);
  86.                     t1.setTextColor(0xff00ff00);
  87.                     t2.setTextColor(0xff00ff00);
  88.                 }else{
  89.                     menu = true;
  90.                     btn.setText("false");
  91.                     t.setClickable(false);
  92.                     t0.setClickable(false);
  93.                     t1.setClickable(false);
  94.                     t2.setClickable(false);
  95.                     t.setTextColor(0);
  96.                     t0.setTextColor(0);
  97.                     t1.setTextColor(0);
  98.                     t2.setTextColor(0);
  99.                 }
  100.             }
  101.         });
  102.     l.addView(t,LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
  103.     l.addView(t0,LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
  104.     l.addView(t1,LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
  105.    l.addView(t2,LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
  106.    ll.addView(l,LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
  107.   setContentView(ll);
  108.  }
  109. }
Можно как-то так примерно сделать :)
Изм. aNNiMON от 1.09.2018 / 13:33

SC20180822-003632.png (6.79 кб.)
Всего: 2

Реклама

Мы в соцсетях

tw tg yt gt