2
正如您從SSCCE所看到的那樣,我會執行setBanner()和setStatus(),然後只在其間添加EditField。如果在火炬上設置了邊距,則EditField被切斷
現在在火炬上,如果您在EditField中輸入了大量字符,直到其高度超出橫幅和狀態之間的區域,則最後一行文本會與狀態欄重疊。見截圖:
這隻發生,當我爲EditField設置一個邊距,但顯然我需要這個邊距。似乎是一個火炬錯誤,因爲它適用於其他BB設備。但是,有沒有人可能知道解決方法?
這裏是SSCCE:
import net.rim.device.api.browser.field2.BrowserField;
import net.rim.device.api.ui.Color;
import net.rim.device.api.ui.UiApplication;
import net.rim.device.api.ui.component.ButtonField;
import net.rim.device.api.ui.component.EditField;
import net.rim.device.api.ui.container.HorizontalFieldManager;
import net.rim.device.api.ui.container.MainScreen;
import net.rim.device.api.ui.decor.BackgroundFactory;
public class CutOff extends UiApplication implements Runnable
{
/**
* @param args
*/
public static void main(final String[] args)
{
final CutOff bt = new CutOff();
bt.invokeLater(bt);
bt.enterEventDispatcher();
}
public void run()
{
final MainScreen s = new MainScreen();
//header
final HorizontalFieldManager head = new HorizontalFieldManager();
head.add(new ButtonField("header"));
s.setBanner(head);
//footer
final HorizontalFieldManager hf = new HorizontalFieldManager();
hf.setBackground(BackgroundFactory.createSolidBackground(Color.RED));
hf.add(new ButtonField("test"));
final EditField f = new EditField();
f.setMargin(10, 10, 10, 10);
s.add(f);
s.setStatus(hf);
UiApplication.getUiApplication().pushScreen(s);
}
}
感謝