2012-07-03 4 views
0

Я хочу иметь две кнопки одного размера, один слева, а другой справа. Это мой код, но я получаю кнопка имеет ширину больше, чем другиесделать кнопку на одном уровне ежевики

hManager = new HorizontalFieldManager(Field.USE_ALL_WIDTH|FIELD_VCENTER); 
hManager.setPadding(15, 0, 15, 15); 

B1= new ButtonField("B1", Field.FIELD_LEFT | ButtonField.CONSUME_CLICK) { 

    public int getPreferredWidth() { 
     return 200; 
    } 
}; 

B2= new ButtonField("B2", Field.FIELD_RIGHT | ButtonField.CONSUME_CLICK) { 

    public int getPreferredWidth() { 
     return 200; 
    } 
}; 

hmanager.add(B1); 
hmanager.add(B2); 
+0

это из-за размера текста. – Signare

+0

Я установил ширину кнопки, как может быть проблема с текстом? и текст очень мал – mobileDeveloper

+0

как-то назначить растровые изображения для bottons.if же проблема повторяется, а затем chek с дополнением. –

ответ

2

ли что-то вроде

public int getPreferredWidth() { 
    return (Display.getwidth()/2)-20 ;    
} 

в вашем ButtonField.

0

На самом деле проблема в том, что, например, рассмотрим ширину экрана 240. Но в соответствии с вашим кодом вы дали 200 в качестве ширины для вашей первой кнопки. Так что 240-200. Теперь есть 40 - это оставшаяся ширина экрана. Поэтому он не будет учитывать ширину 200, указанную для второй кнопки. Поэтому из-за недостаточной ширины, по умолчанию она занимает оставшуюся ширину (не указанную ширину). Таким образом, вы должны установить ширину кнопки на основе ширины экрана. А также в вашем коде Field.Field_Right не работает. В вертикальном ясли вы можете установить горизонтальное свойство.

0

не ставят абсолютные значения, только часть, потому что ежевика экран отличается большим образом

@Bbdev решение является ответом в коде

Смежные вопросы