Приложение Blackberry Внешний вид приложения против Facebook - PullRequest
0 голосов
/ 13 марта 2012

Я использую встроенный полевой менеджер от RIM.(SDK 7.0)

И все же эффекты шокирующие.Макет ужасен, и я не знаю, как его настроить.Вы можете увидеть разницу между моим приложением и приложением Facebook.Они использовали встроенный материал, если так, то как?и если нет, то как мне сделать подобное?

Как бы я сделал так, чтобы мои формы выглядели намного лучше.Я пытался изменить параметр Styles разными способами.

enter image description here

Текущий код:

    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 );

Ответы [ 2 ]

2 голосов
/ 14 марта 2012

Вы можете использовать следующий код в качестве отправной точки для создания необычного экрана входа в систему:

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);
}
1 голос
/ 14 марта 2012

Вы должны использовать пользовательские компоненты для создания пользовательского интерфейса, как это. Также вы можете использовать setBorder и setBackgound свойства поля .

Эта SO ссылка дает подробные сведения о дизайне пользовательского интерфейса Blackberry. Это должно помочь вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...