黑莓App Appearance VS Facebook App [英] Blackberry App Appearance VS Facebook App

查看:288
本文介绍了黑莓App Appearance VS Facebook App的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用来自RIM的内置字段管理器。 (SDK 7.0)



然而效果令人震惊。布局是可怕的,我不知道如何自定义它。
您可以看到我的应用程序与Facebook应用程序的区别。他们是否使用内置的东西,如果是这样的话?如果不是我怎么做类似的?



我怎么会让我的表单看起来好多了我尝试以多种方式修改Styles参数。





当前代码:

  final BasicEditField UserID = new BasicEditField(User ID:,example); 
final BasicEditField UserName = new BasicEditField(Username:,);
final BasicEditField Password = new PasswordEditField(Password:,example);

VerticalFieldManager loginFields = new VerticalFieldManager(FIELD_HCENTER | FIELD_VCENTER);
loginFields.add(UserID);
loginFields.add(UserName);
loginFields.add(Password);

ButtonField Login = new ButtonField(Login,ButtonField.CONSUME_CLICK | ButtonField.FIELD_HCENTER);
loginFields.add(Login);


解决方案

可以使用以下代码作为起始点创建一个花哨的登录屏幕:

  public loginScreen(){

super (MainScreen.VERTICAL_SCROLL | MainScreen.VERTICAL_SCROLLBAR);

vMgr =(VerticalFieldManager)getMainManager();

XYEdges mgrThickPadding = new XYEdges(4,4,4,4);
边框mgrRoundedBorder = BorderFactory.createRoundedBorder(mgrThickPadding,Border.STYLE_SOLID);
背景bg = BackgroundFactory.createSolidBackground(Color.LIGHTSTEELBLUE);
vMgr.setBackground(bg);
vMgr.setBorder(mgrRoundedBorder);

setTitle(登录屏幕);

XYEdges thickPadding = new XYEdges(4,4,4,4);
Border roundedBorder = BorderFactory.createRoundedBorder(thickPadding,Border.STYLE_SOLID);

背景solidBackground = BackgroundFactory.createSolidBackground(Color.LIGHTGRAY);
this.setBackground(solidBackground);


usernameFld = new EditField(Username:,,20,BasicEditField.NO_NEWLINE);
usernameFld.setBorder(roundedBorder);
usernameFld.setBackground(solidBackground);

passwordFld = new PasswordEditField(Password:,,20,0);
passwordFld.setBorder(roundedBorder);
passwordFld.setBackground(solidBackground);

FieldChangeListener listener = new FieldChangeListener(){

public void fieldChanged(Field field,int context){
ButtonField buttonField =(ButtonField)
System.out.println(按钮:+ buttonField.getLabel());

if(field == loginBtn)
{
//登录操作
}
}
};

loginBtn.setMinimalWidth(200);
loginBtn.setChangeListener(listener);

vMgr.add(usernameFld);
vMgr.add(passwordFld);
vMgr.add(loginBtn);
}


I am using the built in field manager from RIM. (SDK 7.0)

Yet the effects are shocking. The layout is dreadful, and Ive no idea how to customise it. You can see the difference to my app against facebook app. Did they use the built in stuff, if so how? and if not how do I do similar?

How would I go about making my forms look so much better. Ive tried modifying the Styles parameter in many ways.

Current code:

    final BasicEditField UserID = new BasicEditField( "User ID:", "example");
    final BasicEditField UserName = new BasicEditField( "Username:", "");
    final BasicEditField Password = new PasswordEditField( "Password:", "example" );

    VerticalFieldManager loginFields = new VerticalFieldManager(FIELD_HCENTER |FIELD_VCENTER );
    loginFields.add( UserID ); 
    loginFields.add( UserName ); 
    loginFields.add( Password ); 

    ButtonField Login = new ButtonField( "Login", ButtonField.CONSUME_CLICK | ButtonField.FIELD_HCENTER );
    loginFields.add( Login );

解决方案

you can use the following code as starting point to create a fancy login screen:

public loginScreen() {

    super(MainScreen.VERTICAL_SCROLL | MainScreen.VERTICAL_SCROLLBAR);

    vMgr = (VerticalFieldManager)getMainManager();

    XYEdges mgrThickPadding = new XYEdges(4, 4, 4, 4);
    Border mgrRoundedBorder = BorderFactory.createRoundedBorder(mgrThickPadding, Border.STYLE_SOLID);
    Background bg = BackgroundFactory.createSolidBackground(Color.LIGHTSTEELBLUE);
    vMgr.setBackground(bg);
    vMgr.setBorder(mgrRoundedBorder);

    setTitle("Login Screen");

    XYEdges thickPadding = new XYEdges(4, 4, 4, 4);
    Border roundedBorder = BorderFactory.createRoundedBorder(thickPadding, Border.STYLE_SOLID);

    Background solidBackground = BackgroundFactory.createSolidBackground(Color.LIGHTGRAY);
    this.setBackground(solidBackground);


    usernameFld = new EditField("Username: ","", 20, BasicEditField.NO_NEWLINE);
    usernameFld.setBorder(roundedBorder);
    usernameFld.setBackground(solidBackground);

    passwordFld = new PasswordEditField("Password: ","", 20, 0); 
    passwordFld.setBorder(roundedBorder);
    passwordFld.setBackground(solidBackground);

    FieldChangeListener listener = new FieldChangeListener() {

        public void fieldChanged(Field field, int context) {
            ButtonField buttonField = (ButtonField) field;
            System.out.println("Button pressed: " + buttonField.getLabel());

            if (field == loginBtn)
            {
                // Do Login actions
            }
        }
    };

    loginBtn.setMinimalWidth(200);
    loginBtn.setChangeListener(listener);

    vMgr.add(usernameFld);
    vMgr.add(passwordFld);           
    vMgr.add(loginBtn);
}

这篇关于黑莓App Appearance VS Facebook App的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆