문제

나는 HorizontalfieldManager를 만들고 BitMapFields를 추가했습니다.

BlackBerry Storm에서 display.getWidth ()는 480입니다. 처음 450을 사용하여 런타임에서 생성하는 화면의 LHS에 비트 맵 필드를 추가하고 화면의 시작시 2 비트 맵 필드를 추가하고 싶습니다.

시작 R에서 보여주고 싶은 2 개의 bimapfields 생성자 및 기타 비트 맵 필드에 런타임 r을 추가 한 후에 추가 후에 후에는 ..

class MyCanvas extends MainScreen
{

  MyCanvas()
  {

       hfm_BitmapField = new HorizontalFieldManager(){
             protected void sublayout(int maxWidth, int maxHeight) {
             super.sublayout(maxWidth, maxHeight);
             setExtent(Display.getWidth()-30, 60);
             }
         };


         startBitmap = Bitmap.getBitmapResource("start.png");
         startBitmapField = new BitmapField(startBitmap, BitmapField.ACTION_INVOKE |            BitmapField.FIELD_HCENTER | BitmapField.FIELD_RIGHT);
         hfm_BitmapField.add(startBitmapField);

         endBitmap = Bitmap.getBitmapResource("end.png");
         endBitmapField = new BitmapField(endBitmap, BitmapField.ACTION_INVOKE |            BitmapField.FIELD_HCENTER | BitmapField.FIELD_RIGHT);
         hfm_BitmapField.add(endBitmapField);

         drawBitmap();
 }


 public void drawBitmap()
 {
      bitmap[i] = new Bitmap(50, 50);
      Graphics g = new Graphics(bitmap[i]);
      g.drawLine(5,5,25,25);
      bitmapField[i] = new BitmapField(bitmap[i]);

      synchronized(UiApplication.getEventLock()) { hfm.add(bitmapField[i]); }
 }  

HorizontalfieldManagers의 LHS에서 런타임에 생성하는 RHS & BitMapfield [i]의 StartBitMapfield & EndbitMapfield를 원합니다.

나는 2 개의 HorizontalfieldManagers를 추가 할 생각입니다. BitMapfield [i] 및 1의 경우 1 및 1의 경우 1입니다. 그러나 2 개의 HorizontalfieldManagers 또는 기타 FieldManagers를 연속으로 추가하는 방법은 무엇입니까?

해결책이 있습니까? 어떻게 하는가?

도움이 되었습니까?

해결책

2 개의 수평 필드 관리자를 다른 HorizontalfieldManager 내에 넣을 수 있습니다.

다른 팁

정렬 플래그를 사용하는 대신 하위 해군 방법에 추가하십시오.

관리자 (HFM)의 각 자녀에 대해 SetPositionChild에 전화해야합니다. 따라서 올바르게 정렬하고 수직 중심을 원한다면 다음과 같은 작업을 수행 할 것입니다.

setPositionChild (deleteButton, hfm.getPreferredWidth () - deleteButton.getPreferredWidth (), (hfm.getPreferredHeight () / 2) - (deleteButton.getPreferRedHeight () / 2));

이렇게하면 삭제 버튼의 왼쪽 상단 코너가 올바른 위치에있어서 HFM 내에서 오른쪽으로 정렬되고 수직 중심이됩니다.

응용 프로그램이 터치하면 문제가있을 것입니다. 터치 이벤트 사용을 피하려면 각각의 맞춤형 필드를 별도의 필드 관리자에 있어야합니다. super.sublayout (너비, 높이) 대신 LayoutChild를 사용하는 경우 화면에서 탐색이 비활성화되므로 사용하지 마십시오. NavigationMovement를 사용하여 필드의 탐색을 사용자 정의하십시오. 더 : super.sublayout 함수를 사용하지 않으면 일부 필드를 레이아웃하지 않을 수 있으므로 사용하는 것이 좋습니다.

더보기 : 모든 터치 기반 애플리케이션에 스톰 에뮬레이터를 사용하고 호환성 문제에 대한 다른 모든 릴리스에는 4.5 펄 에뮬레이터 JDE를 사용하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top