@@ -121,7 +121,7 @@ public class Cocos2dxEditBox extends EditText {
121
121
122
122
private static final int kTextVerticalAlignmentTop = 0 ;
123
123
private static final int kTextVerticalAlignmentCenter = 1 ;
124
- private static final int getkTextVerticalAlignmentBottom = 2 ;
124
+ private static final int kTextVerticalAlignmentBottom = 2 ;
125
125
126
126
private int mInputFlagConstraints ;
127
127
private int mInputModeConstraints ;
@@ -208,35 +208,40 @@ public void setTextHorizontalAlignment(int alignment) {
208
208
int gravity = this .getGravity ();
209
209
switch (alignment ) {
210
210
case kTextHorizontalAlignmentLeft :
211
- gravity = gravity | Gravity .LEFT ;
211
+ gravity = ( gravity & ~ Gravity . RIGHT ) | Gravity .LEFT ;
212
212
break ;
213
213
case kTextHorizontalAlignmentCenter :
214
- gravity = gravity | Gravity .CENTER ;
214
+ gravity =( gravity & ~ Gravity . RIGHT & ~ Gravity . LEFT ) | Gravity .CENTER_HORIZONTAL ;
215
215
break ;
216
216
case kTextHorizontalAlignmentRight :
217
- gravity = gravity | Gravity .RIGHT ;
217
+ gravity = ( gravity & ~ Gravity . LEFT ) | Gravity .RIGHT ;
218
218
break ;
219
219
default :
220
- gravity = gravity | Gravity .LEFT ;
220
+ gravity = ( gravity & ~ Gravity . RIGHT ) | Gravity .LEFT ;
221
221
break ;
222
222
}
223
223
this .setGravity (gravity );
224
224
}
225
-
225
+
226
226
public void setTextVerticalAlignment (int alignment ) {
227
227
int gravity = this .getGravity ();
228
+ int padding = Cocos2dxEditBoxHelper .getPadding (mScaleX );
228
229
switch (alignment ) {
229
230
case kTextVerticalAlignmentTop :
230
- gravity = gravity | Gravity .TOP ;
231
+ setPadding (padding , padding *3 /4 , 0 , 0 );
232
+ gravity = (gravity & ~Gravity .BOTTOM ) | Gravity .TOP ;
231
233
break ;
232
234
case kTextVerticalAlignmentCenter :
233
- gravity = gravity | Gravity .CENTER_VERTICAL ;
235
+ setPadding (padding , 0 , 0 , padding /2 );
236
+ gravity =(gravity & ~Gravity .TOP & ~Gravity .BOTTOM ) | Gravity .CENTER_VERTICAL ;
234
237
break ;
235
- case getkTextVerticalAlignmentBottom :
236
- gravity = gravity | Gravity .BOTTOM ;
238
+ case kTextVerticalAlignmentBottom :
239
+ //TODO: Add appropriate padding when this alignment is used
240
+ gravity = (gravity & ~Gravity .TOP ) | Gravity .BOTTOM ;
237
241
break ;
238
242
default :
239
- gravity = gravity | Gravity .CENTER_VERTICAL ;
243
+ setPadding (padding , 0 , 0 , padding /2 );
244
+ gravity =(gravity & ~Gravity .TOP & ~Gravity .BOTTOM ) | Gravity .CENTER_VERTICAL ;
240
245
break ;
241
246
}
242
247
@@ -275,7 +280,6 @@ public void setInputMode(int inputMode){
275
280
}
276
281
277
282
this .setInputType (this .mInputModeConstraints | this .mInputFlagConstraints );
278
-
279
283
}
280
284
281
285
@ Override
0 commit comments