Поле автозаполнения BlackBerry с белым фоном? - PullRequest
1 голос
/ 23 июля 2010

У меня проблема с изменением фона AutoCompleteField. Неважно, что я пытаюсь, фон всегда серый (не странно ли, по умолчанию он серый ...).

Кто-нибудь знает, как сделать фон белым (как, например, в почтовом клиенте BlackBerry)?

Заранее спасибо!

1 Ответ

0 голосов
/ 09 мая 2011

Способ BB заключается в расширении существующих полей всякий раз, когда вы хотите изменить их стиль (например, цвет), поэтому вот мое решение:

screenshot

MyAuto.java:

package mypackage;

import net.rim.device.api.ui.*;
import net.rim.device.api.ui.component.*;
import net.rim.device.api.ui.container.*;
import net.rim.device.api.ui.decor.*;
import net.rim.device.api.system.*;
import net.rim.device.api.collection.util.*;

public class MyAuto extends UiApplication {
    public static void main(String[] args) {
        MyAuto myAuto = new MyAuto();
        myAuto.enterEventDispatcher();
    }

    public MyAuto () {
        pushScreen(new MyScreen());
    }    
}

class MyScreen extends MainScreen {
    public MyScreen() {
        BasicFilteredList filterList = new BasicFilteredList();
        String[] days = {"Monday","Tuesday","Wednesday",
                        "Thursday","Friday","Saturday","Sunday"};
        filterList.addDataSet(1,days,"days",BasicFilteredList.COMPARISON_IGNORE_CASE);
        Background myBG = BackgroundFactory.createSolidBackground(Color.YELLOW);
        Border myBorder = BorderFactory.createBitmapBorder( 
            new XYEdges( 20, 16, 27, 23 ), 
            Bitmap.getBitmapResource( "bubble_left.png" ) );
        AutoCompleteField autoCompleteField = new AutoCompleteField(filterList);
        autoCompleteField.setBorder(myBorder);
        autoCompleteField.getEditField().setBackground(myBG);
        add(autoCompleteField);
    }
}

bubble_left.png на самом деле не нужен, я добавил его просто для удовольствия:

enter image description here

Кстати, в моем симуляторе (BB 9800) фон по умолчанию белый.

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