【问题标题】:Difference in designing BlackBerry application for Non touch Screen and touch screen为非触摸屏和触摸屏设计 BlackBerry 应用程序的区别
【发布时间】:2012-07-09 15:15:04
【问题描述】:

我已经开发了一个 Blackberry 应用程序并在 Simulator(9800) 上运行它,现在我希望它也适用于非触摸设备。 问题是当我在非触摸模拟器上测试时,即。 9780 缺少两个组件

请帮帮我。 下面是我的登录屏幕的代码。

public class JLoginScreen extends MyFramePageForLogin
{    
   public MyHttpConnectionClass myhttp=new MyHttpConnectionClass();
   MyParser mypar=new MyParser();
   private LabelField lblalreadymember,lblnotamember;//cotegories for exixtence
   private LabelField lbllogin,lblpassword,rmtemp1,rmtemp2,rmtemp3,rmtemp4;   
   private CustomRoundBorderTextBoxField rblogin;
   private CustomRoundBorderPasswordField rbpassword;
   private LabelField linkforgetpwd; 
   private CustomButtonField cbflogin,cbfregisternow;
   CheckboxField checkRemeberMe;
   CheckboxField cbField;
   int mCheckBoxesCount = 5; 
   public static String membername,person_fname,person_lname,address,
   contactperson,mail,phone,mobile,membertitle,memberid;
   private GridFieldManager gfmlogin;  
   private GridFieldManager gfmtxt;  
   private GridFieldManager hfmforgetlogin;
   Font fontlistfield;  
   MyConnectionClass my_con=new MyConnectionClass();
   MyFont myfont=new MyFont();  
   private int isVal=0;

   public JLoginScreen()
   {      
      lblalreadymember=new LabelField("Already A Member ?")
      {
         public void paint(Graphics g)
         {
            //g.setColor(0x585858);
            super.paint(g);
         }
      };
      lblalreadymember.setFont(myfont.headfont);

      lblalreadymember.setMargin(10,0,0, 10);
      //Login 
      lbllogin=new LabelField("Login",NON_FOCUSABLE)
      {
         public void paint(Graphics g)
         {
            g.setColor(0x585858);
            super.paint(g);
         }
      };
      lbllogin.setFont(myfont.boldfont);
      lbllogin.setMargin(0,0,0,10);

      lblpassword=new LabelField("Password")
      {
         public void paint(Graphics g)
         {
            g.setColor(0x585858);
            super.paint(g);
         }
      };
      lblpassword.setFont(myfont.boldfont);

      linkforgetpwd=new LabelField("Forget Password?")
      {
         public void paint(Graphics g)
         {
            g.setColor(0x585858);
            super.paint(g);
         }
      };
      linkforgetpwd.setPadding(0,0, 0,5);
      linkforgetpwd.setFont(myfont.contentdata);  

      rblogin=new CustomRoundBorderTextBoxField(200,25,3); 
      rblogin.setFont(myfont.contentdata);

      rbpassword=new CustomRoundBorderPasswordField(200,25,3);
      rbpassword.setFont(myfont.loginpassword);
      //rbpassword.setPadding(5,0, 0,2);

      rmtemp1=new LabelField("")
      {
         public void paint(Graphics g)
         {
            g.setColor(0x585858);
            super.paint(g);
         }
      };
      rmtemp2=new LabelField("")
      {
         public void paint(Graphics g)
         {
            g.setColor(0x585858);
            super.paint(g);
         }
      };
      rmtemp3=new LabelField("")
      {
         public void paint(Graphics g)
         {
            g.setColor(0x585858);
            super.paint(g);
         }
      };
      rmtemp4=new LabelField("")
      {
         public void paint(Graphics g)
         {
            g.setColor(0x585858);
            super.paint(g);
         }
      };
      checkRemeberMe = new CheckboxField("Remember Me", false)
      {
         public void paint(Graphics g)
         {
            g.setColor(0x585858);
            super.paint(g);
         }
      };
      checkRemeberMe.setPadding(0,0, 0,10);
      checkRemeberMe.setFont(MyFont.contentdata);
      //CustomButtonField For Login
      cbflogin=new CustomButtonField("            Login       ", Color.BLACK);  

      cbflogin.setPadding(0,0, 0, 200);
      cbflogin.setFont(MyFont.contentdata);
      cbflogin.setChangeListener(new FieldChangeListener() 
      {
         public void fieldChanged(Field field, int context) 
         {           
            try
            {
               String url="http://www.jewelvicinity.com/pushmobile.aspx?cmdtype=LOGIN&email="+rblogin.getText()+"&pwd="+rbpassword.getText()+"";
               String response =MyHttpConnectionClass.getPage(url);
               String isActive =mypar.getWIGIBarcodeInfo(response,"<MemberActive>","</MemberActive>",14);
               membername =mypar.getWIGIBarcodeInfo(response,"<MemberName>","</MemberName>",12);
               person_fname =mypar.getWIGIBarcodeInfo(response,"<MemberPersonFName>","</MemberPersonFName>",19);
               person_lname =mypar.getWIGIBarcodeInfo(response,"<MemberPersonLName>","</MemberPersonLName>",19);
               membertitle=mypar.getWIGIBarcodeInfo(response,"<MemberTitle>","</MemberTitle>",13);
               memberid=mypar.getWIGIBarcodeInfo(response,"<MemberID>","</MemberID>",10);

               address =mypar.getWIGIBarcodeInfo(response,"<MemberAdd1>","</MemberAdd1>",12);
               phone =mypar.getWIGIBarcodeInfo(response,"<MemberPhone1>","</MemberPhone1>",14);
               mobile =mypar.getWIGIBarcodeInfo(response,"<MemberMobile>","</MemberMobile>",14);
               mail =mypar.getWIGIBarcodeInfo(response,"<MemberEMail>","</MemberEMail>",13);
               //boolean isActive=Boolean.isActive;
               //Dialog.alert(""+response);
               //Dialog.alert(""+memberid);

               if(isVal==0)
               {                
                  if(isActive.equalsIgnoreCase("true"))                 
                  {                  
                     UiApplication.getUiApplication().pushScreen(new JSearchDiamondPage());                     
                     rblogin.setText("");
                     rbpassword.setText("");
                     Setting.setMemberID(memberid);

                  } 
                  else
                  {
                     Dialog.alert("Enter correct user name and Password");
                     rblogin.setText("");
                     rbpassword.setText("");
                     rblogin.setFocus();           
                  }
               }
            }
            catch(Exception ex)
            {
               Dialog.alert(""+ex);
            }
         }
      });

      hfmforgetlogin =new GridFieldManager(3,2,1|GridFieldManager.NON_FOCUSABLE);
      hfmforgetlogin.setPadding(0, 0, 0, 0);
      hfmforgetlogin.setColumnProperty(0, GridFieldManager.FIXED_SIZE, 160);
      hfmforgetlogin.setColumnProperty(1, GridFieldManager.FIXED_SIZE, 220);
      hfmforgetlogin.add(rmtemp1);
      hfmforgetlogin.add(rmtemp2);
      hfmforgetlogin.add(checkRemeberMe,Field.NON_FOCUSABLE);     
      hfmforgetlogin.add(linkforgetpwd);
      hfmforgetlogin.add(rmtemp3);
      hfmforgetlogin.add(rmtemp4);

      //hfmforgetlogin.add(cbflogin);
      //Grid Field Manager
      gfmlogin=new GridFieldManager(2,1,1|GridFieldManager.NON_FOCUSABLE);
      gfmlogin.setRowProperty(0,GridFieldManager.FIXED_SIZE,30);
      gfmlogin.setRowProperty(1,GridFieldManager.FIXED_SIZE,10);
      gfmlogin.setPadding(10,0, 0, 10);
      gfmlogin.setFont(myfont.contentdata);
      //gfmlogin.nextFocus(2,1);
      gfmlogin.add(lbllogin,GridFieldManager.FIELD_LEFT);
      gfmlogin.add(lblpassword);

      gfmtxt=new GridFieldManager(2,1,1|GridFieldManager.FOCUSABLE);
      gfmtxt.setPadding(10,0, 0, 10);
      gfmtxt.setFont(myfont.contentdata);
      //gfmtxt.setFocus(67,97,);
      gfmtxt.nextFocus(0,0);
      gfmtxt.add(rblogin,FOCUSABLE);
      gfmtxt.add(rbpassword,FOCUSABLE);
      HorizontalFieldManager hfm=new HorizontalFieldManager();
      hfm.setPadding(0,0,0,0);
      hfm.add(gfmlogin); 
      hfm.add(gfmtxt); 
      MyFramePageForLogin.contentarea.add(lblalreadymember);
      MyFramePageForLogin.contentarea.add(hfm);
      MyFramePageForLogin.contentarea.add(hfmforgetlogin);     
      MyFramePageForLogin.contentarea.add(cbflogin);

      /********************************************************/
      //Adding line as image     
      BitmapField lineimg = new BitmapField(Bitmap.getBitmapResource("line.png"), BitmapField.LEFT);
      lineimg.setPadding(20, 30, 10, 10);
      MyFramePageForLogin.contentarea.add(lineimg);
      /**************END of adding Line***********************/

      lblnotamember=new LabelField("Not a Member ?")
      {
         public void paint(Graphics g)
         {
            //g.setColor(0x585858);
            super.paint(g);
         }
      };    
      //lblnotamember.setPadding(Display.getHeight()/2+100,0,0,10);
      lblnotamember.setFont(myfont.headfont);
      lblnotamember.setPadding(10,10,10,10);

      MyFramePageForLogin.contentarea.add(lblnotamember);//End       

      /******Adding Register Button**************/
      /* ButtonField bf=new ButtonField("HEllo");
         contentarea.add(bf);*/
      cbfregisternow=new CustomButtonField("       Register Now", Color.CYAN);
      cbfregisternow.setPadding(5,10,10,200);
      cbfregisternow.setFont(MyFont.contentdata);
      cbfregisternow.setChangeListener(new FieldChangeListener() 
      {
         public void fieldChanged(Field field, int context) 
         {           
            //Dialog.alert("Mobile:"+umobile+",Created On:"+ucreated_on+",Active:"+uactive+",Paid"+umember_paid+",Appr"+umember_appr);
            UiApplication.getUiApplication().pushScreen(new JNewRegistrationPage());
            //UiApplication.getUiApplication().pushScreen(new JVendorDetailsPage(name1,person,address,phone,mobile,mail));          
         }
      });
      MyFramePageForLogin.contentarea.add(cbfregisternow);     
      rblogin.setFocus();
      //setFocus();
   }
   protected boolean onSavePrompt() 
   {
      return true;
   }
}

在上面的代码中,非触摸屏上不显示的2个组件是

  1. rblogin
  2. rbpassword

这是自定义文本字段。

【问题讨论】:

  • 缺少哪两个组件?另外,您的格式不正确,无法真正阅读代码的第一部分..

标签: blackberry


【解决方案1】:

我看到的组件 rblogin 和 rbpassword 是定制的(参考:className - CustomRoundBorderTextBoxField)

以下可能会导致您面临的问题:

  • CustomRoundBorderTextBoxField 扩展的类可能在 OS 5.0 中不可用(9780 附带两个 OS 版本 5.0 和 6.0,具体取决于型号)

  • 字段可能因屏幕尺寸而放错位置,记住 9800 是 360x480,9780 是小尺寸

  • 可能会忘记将其添加到屏幕上 :)

如果问题还没有解决,请留言

谢谢 迪拉杰·贾米

【讨论】:

    猜你喜欢
    • 2016-08-13
    • 1970-01-01
    • 2020-02-05
    • 1970-01-01
    • 1970-01-01
    • 2014-09-02
    • 1970-01-01
    • 1970-01-01
    • 2021-08-03
    相关资源
    最近更新 更多