BlackBerry Forums Support Community
              

Closed Thread
 
LinkBack Thread Tools
Old 10-08-2009, 01:46 AM   #1 (permalink)
Thumbs Must Hurt
 
Join Date: Mar 2007
Location: India
Model: 8100
Carrier: Airtel
Posts: 64
Post Thanks: 0
Thanked 0 Times in 0 Posts
Default capturing touchevent of right most fields

Please Login to Remove!

Hi All,
Here is my code snippet.
int footerHeight = footerImage.getHeight();
footerManager = new HorizontalFieldManager(HorizontalFieldManager.NO_V ERTICAL_SCROLL
| HorizontalFieldManager.NO_HORIZONTAL_SCROLL | HorizontalFieldManager.FOCUSABLE){
public void paint(Graphics graphics){
int partVal = Display.getWidth()/6;
int xPos = partVal;
if(btnExplore != null){
xPos = (partVal-btnExplore.getWidth())/2;
setPositionChild(btnExplore, xPos, 0);
}
if(btnSearch != null){
xPos = (partVal-btnSearch.getWidth()/2)+(partVal/2);
setPositionChild(btnSearch, xPos , 0);
}
if(btnFavourite != null){
xPos = (partVal-btnFavourite.getWidth()/2)+(partVal+(partVal/2));
setPositionChild(btnFavourite, xPos , 0);
}
if(btnPersonal!= null){
xPos = (partVal-btnPersonal.getWidth()/2)+((partVal*2)+partVal/2);
setPositionChild(btnPersonal, xPos, 0);
}
if(btnabout != null){
xPos = (partVal-btnabout.getWidth()/2)+((partVal*3)+(partVal/2));
setPositionChild(btnabout, xPos, 0);
}
if(btnExit != null){
xPos = (partVal-btnExit.getWidth()/2)+((partVal*4)+(partVal/2));
setPositionChild(btnExit, xPos, 0);
}
graphics.setColor(0x800000);
graphics.drawBitmap(0, 0, Display.getWidth(), footerHeight, footerImage, 0 , 0);
if(Container.isFirst == 0){
invalidate();
}
super.paint(graphics);
}

public void sublayout(int maxWidth, int maxHeight){
maxWidth = Display.getWidth();
maxHeight = footerHeight;
super.sublayout(maxWidth, maxHeight);
setExtent(maxWidth, maxHeight);
}

public int getPreferredWidth(){
return Display.getWidth();
}

public int getPreferredHeight(){
return footerHeight;
}
};

btnabout = new CustomButton(null, "MyApp/images/about-us.png", "MyApp/images/blueabout-us.png", false);

btnFavourite = new CustomButton(null, "MyApp/images/grey-star.png", "MyApp/images/blue.png", false);

btnExplore = new CustomButton(null, "MyApp/images/explore.png", "MyApp/images/blue-expore.png", false);

btnSearch = new CustomButton(null, "MyApp/images/grey-search.png", "MyApp/images/blue-search.png", false);

btnPersonal= new CustomButton(null, "MyApp/images/my-vows-grey.png", "MyApp/images/my-vows-blue.png", false);
btnExit = new CustomButton(null, "MyApp/images/exit.png", "MyApp/images/blue_exit.png", false);

footerManager.add(btnExplore);
footerManager.add(btnSearch);
footerManager.add(btnFavourite);
footerManager.add(btnPersonal);
footerManager.add(btnabout);
footerManager.add(btnExit);

I have added this manager in verticalFieldManager.

My problem is the last two button's touchevent is not get captured.

Like footer manager I have headerManager (HorizontalFieldManager). In that I placed one button at left corner and one at right corner. In that left corner button's touch event get captured but right button's touchevent is not getting captured.

In short.. the fields that I place at right corner (right 1/4 of screen) did not capture the touch event. This is happeing in device too.

can anybody please tell me what to do for this. I already posted my snippet.

Thanks.
__________________
Crazy for BlackBerry
Offline  
Old 10-27-2009, 02:06 AM   #2 (permalink)
Thumbs Must Hurt
 
Join Date: Mar 2007
Location: India
Model: 8100
Carrier: Airtel
Posts: 64
Post Thanks: 0
Thanked 0 Times in 0 Posts
Default

Hi All,

I got solution for this..

In main manager in which footermanager is added i have handled touchEvent.

in that i have handled touchevent of all these fields manually.

Here is code

case TouchEvent.CLICK :
inde = getFieldAtLocation(event.getX(1),
event.getY(1));
if(inde != -1){
Field fm = getField(inde);
if(fm.equals(vfmMain)){
int index1 = vfmMain.getFieldAtLocation(event.getX(1),
event.getY(1));
// Ignore click events outside any fields
if (index1 == -1)
return true;
Field field = vfmMain.getField(index1);
if(field.equals(footerManager)){
//Container.isFooterManager = true;
int index2 = footerManager.getFieldAtLocation(event.getX(1),
event.getY(1));
if(index2 != -1){
Field field1 = footerManager.getField(index2);
if(field1.equals(btnExplore)){
btnExplore.touchEvent(event);
setFocusOnField();
return true;
}else if(field1.equals(btnFavourite)){
btnFavourite.touchEvent(event);
setFocusOnField();
return true;
}else if(field1.equals(btnSearch)){
btnSearch.touchEvent(event);
setFocusOnField();
return true;
}else if(field1.equals(btnabout)){
btnabout.touchEvent(event);
setFocusOnField();
return true;
}else if(field1.equals(btnMyVows)){
btnPersonal.touchEvent(event);
setFocusOnField();
return true;
}else if(field1.equals(btnExit)){
btnExit.touchEvent(event);
setFocusOnField();
return true;
}
}
}
}
}
__________________
Crazy for BlackBerry
Offline  
Closed Thread


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Altair NewApeel Petite diamond tip MicroDermabrasion
$3000.0
Altair NewApeel Petite diamond tip MicroDermabrasion pictureMSA altair 4X Multigas detector Monitor With MSA GX2 Calibration Dock (4 Units)
$3999.99
MSA altair 4X Multigas detector Monitor With MSA GX2 Calibration Dock (4 Units) pictureMSA altair 4X gas Monitor detector, O2,H2S,CO,LEL Charger calibrated
$419.99
MSA altair 4X gas Monitor detector, O2,H2S,CO,LEL Charger calibrated pictureGas Monitor detector MSA Altair 4X O2,H2S,CO,LEL Charger calibrated
$419.99
Gas Monitor detector MSA Altair 4X   O2,H2S,CO,LEL Charger calibrated pictureMSA altair 4X Multi Gas Meter Monitor detector,O2,H2S,CO,LEL With Cradle Charger
$429.99
MSA altair 4X Multi Gas Meter Monitor detector,O2,H2S,CO,LEL With Cradle Charger picture






Copyright 2004-2016 BlackBerryForums.com.
The names RIM and BlackBerry are registered Trademarks of BlackBerry Inc.