0

HI все у меня есть Custom BasicEditField, чтобы установить подсказку и ввести длинный текст.как отключить бесконечный прокрутки в BasicEditField

смотрите мой код

vfm_searchBox = new VerticalFieldManager() 
     { 
      //Main.Quicksearchinput is background image for inputtext 
      public void paint(Graphics g) 
      { 
       g.setColor(Color.WHITE); 
       g.drawBitmap(0,0,Main.Quicksearchinput.getWidth(),Main.Quicksearchinput.getHeight(),Main.Quicksearchinput,0,0); 
       super.paint(g); 
      }} 

Существует одна HorizontalFieldManager для прокрутки текста.

hfm_searchBox = new HorizontalFieldManager(Manager.HORIZONTAL_SCROLL) ;

Существует один Basiceditfield для ввода текста.

txtSearch = new BasicEditField(BasicEditField.NO_NEWLINE) 
     { 
      public void paint(Graphics g) 
      { 
       if(super.getText().length() == 0) 
       { 
        g.setColor(Color.GRAY); 
        g.setFont(g.getFont().derive(Font.PLAIN,18)); 
        g.drawText("Enter Event title or subtitle", 0, 0); 
        super.paint(g); 
       } 
       else 
       { 
        g.setColor(Color.BLACK); 
        super.paint(g); 
       } 

      }}; 

BasicEditField выглядит красиво с Backgroundimage и hint, но проблема в том, что, когда я ничего ввода в текстовое поле он работает, как бесконечный свиток. Я установил ширину Horizontalfield в зависимости от BasiceditField, но ее ширина по умолчанию установлена ​​равной неограниченному.

hfm_searchBox.add(txtSearch); 
vfm_searchBox.add(hfm_searchBox); 

как предотвратить бесконечный свиток?

Спасибо заранее!

ответ

3

Что такое HorizontalFieldManager's virtual width? Это относится к прокручиваемому пространству, тогда как ширина относится к степени на экране. Вы можете попробовать расширить HorizontalFieldManager и переопределить метод подвыражения, вызвав в нем setVirtualExtent.

+0

thanx alot для обеспечения. Я пытался переопределить метод, но он не работает. может у PLZ сказать мне, как это реализовать? – Hitarth

2

Как заявила Тамар, поле Виртуальная ширина - ключевое понятие для отслеживания.

see my solution to a very similar question here. Я предоставляю полный пример кода, который, вероятно, не слишком далеко от того, что вы пытаетесь сделать. Код, который я использую, делает шаг дальше и динамически ограничивает прокрутку только до конца, где текст в настоящее время достигает. Если вы этого не сделаете и просто установите одну константу виртуальной ширины , вы можете иметь поле, которое действительно прокручивается слишком далеко вправо. При динамическом вызове setVirtualExtent() вы всегда получаете достаточно прокрутки, но не слишком много.

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

  • Нет связанных вопросов^_^