BlackBerry'de görüntü düğmesi nasıl uygulanır? Gittiğiniz buradaGörüntü Düğmesi BlackBerry'de
cevap
, tam kodu:
import net.rim.device.api.system.Bitmap;
import net.rim.device.api.ui.Graphics;
import net.rim.device.api.ui.component.ButtonField;
/**
* Button field with a bitmap as its label.
*/
public class BitmapButtonField extends ButtonField {
private Bitmap bitmap;
private Bitmap bitmapHighlight;
private boolean highlighted = false;
/**
* Instantiates a new bitmap button field.
*
* @param bitmap the bitmap to use as a label
*/
public BitmapButtonField(Bitmap bitmap, Bitmap bitmapHighlight) {
this(bitmap, bitmapHighlight, ButtonField.CONSUME_CLICK|ButtonField.FIELD_HCENTER|ButtonField.FIELD_VCENTER);
}
public BitmapButtonField(Bitmap bitmap, Bitmap bitmapHighlight, long style) {
super(style);
this.bitmap = bitmap;
this.bitmapHighlight = bitmapHighlight;
}
/* (non-Javadoc)
* @see net.rim.device.api.ui.component.ButtonField#layout(int, int)
*/
protected void layout(int width, int height) {
setExtent(getPreferredWidth(), getPreferredHeight());
}
/* (non-Javadoc)
* @see net.rim.device.api.ui.component.ButtonField#getPreferredWidth()
*/
public int getPreferredWidth() {
return bitmap.getWidth();
}
/* (non-Javadoc)
* @see net.rim.device.api.ui.component.ButtonField#getPreferredHeight()
*/
public int getPreferredHeight() {
return bitmap.getHeight();
}
/* (non-Javadoc)
* @see net.rim.device.api.ui.component.ButtonField#paint(net.rim.device.api.ui.Graphics)
*/
protected void paint(Graphics graphics) {
super.paint(graphics);
int width = bitmap.getWidth();
int height = bitmap.getHeight();
Bitmap b = bitmap;
if (highlighted)
b = bitmapHighlight;
graphics.drawBitmap(0, 0, width, height, b, 0, 0);
}
public void setHighlight(boolean highlight)
{
this.highlighted = highlight;
}
}
açıklamasına sahip tam kaynak kodunuz var. Hızlı ve doğru cevap için teşekkürler .... –
Bunun bir süredir olduğunu biliyorum ama bu yöntemleri eklemek gerekiyor bu çalışma - korumalı boşluk açıkFocus (int yön) { \t this.setHighlight (true); \t super.onFocus (direction); \t} \t korunan void onUnfocus() { \t \t this.setHighlight (yanlış); \t super.onUnfocus(); \t} –
Kullanım RIM'in Gelişmiş UI Paketi.
Bu BitmapButton alan ve kullanışlı arayüzü araçları çok sayıda içerir.
(Şüphesiz Reflogs örneği iyidir, ama ben bu sayfayı Gelişmiş UI paketi daha faydalıdır açılış yeni BB geliştiriciler için düşünüyorum) bunu
perfect ImageButton for Blackberry , According to user point of view a Imagebutton should have four states
1. Normal
2. Focus
3. Selected Focus
4. Selected unfocus
the Following code maintain all four states (Field-Change-Listener and Navigation)
if you want to maintain all four states than use 1st Constructor, If you just want to handle Focus/Un-Focu state of the button than use 2nd one
########################################
import net.rim.device.api.system.Bitmap;
import net.rim.device.api.ui.Field;
import net.rim.device.api.ui.Graphics;
public class ImageButton extends Field
{
Bitmap mNormalIcon;
Bitmap mFocusedIcon;
Bitmap mActiveNormalIcon;
Bitmap mActiveFocusedIcon;
Bitmap mActiveBitmap;
String mActiveText;
int mHeight;
int mWidth;
boolean isStateActive = false;
boolean isTextActive = false;
public boolean isStateActive()
{
return isStateActive;
}
public ImageButton(Bitmap normalIcon, Bitmap focusedIcon)
{
super(Field.FOCUSABLE | FIELD_VCENTER);
mNormalIcon = normalIcon;
mFocusedIcon = focusedIcon;
mActiveBitmap = normalIcon;
mActiveFocusedIcon = focusedIcon;
mActiveNormalIcon = normalIcon;
// isTextActive = false;
}
public ImageButton(Bitmap normalIcon, Bitmap focusedIcon, Bitmap activeNormalIcon, Bitmap activeFocusedIcon)
{
super(Field.FOCUSABLE | FIELD_VCENTER);
mNormalIcon = normalIcon;
mFocusedIcon = focusedIcon;
mActiveFocusedIcon = activeFocusedIcon;
mActiveNormalIcon = activeNormalIcon;
mActiveBitmap = normalIcon;
// isTextActive = true;
}
protected void onFocus(int direction)
{
if (!isStateActive)
{
mActiveBitmap = mFocusedIcon;
}
else
{
mActiveBitmap = mActiveFocusedIcon;
}
}
protected void onUnfocus()
{
super.onUnfocus();
if (!isStateActive)
{
mActiveBitmap = mNormalIcon;
}
else
{
mActiveBitmap = mActiveNormalIcon;
}
}
protected boolean navigationClick(int status, int time)
{
mActiveBitmap = mActiveNormalIcon;
toggleState();
invalidate();
fieldChangeNotify(1);
return true;
}
public void toggleState()
{
isStateActive = !isStateActive;
}
public int getPreferredWidth()
{
return mActiveBitmap.getWidth() + 20;
}
public int getPreferredHeight()
{
return mActiveBitmap.getHeight() + 10;
}
protected void layout(int width, int height)
{
mWidth = getPreferredWidth();
mHeight = getPreferredHeight();
setExtent(mWidth, mHeight);
}
protected void paint(Graphics graphics)
{
graphics.drawBitmap(0, 5, mWidth, mHeight, mActiveBitmap, 0, 0);
// graphics.setColor(0xff0000);
// graphics.drawText(mActiveText, (mActiveBitmap.getWidth() -
// this.getFont().getAdvance("ON"))/2, mActiveBitmap.getHeight());
}
protected void drawFocus(Graphics graphics, boolean on)
{
}
public void activate()
{
mActiveBitmap = mActiveNormalIcon;
isStateActive = true;
invalidate();
}
public void deactivate()
{
mActiveBitmap = mNormalIcon;
isStateActive = false;
invalidate();
}
}
kolay yolu:
adım 1 : belirli koordinatlarla (imageX, imageY) bir resim çizin. adım 2: Kodu bir yöntem ekleyin:
void pointerControl(int x, int y) {
if (x>imageX && x<imageX+imageName.getWidth() && y>imageY && y < imageY+imageName.getHeight) {
//to do code here
}
}
where imageName:name of image
imageX=x coordinate of image(Top-Left)
imageY=y coordinate of image(Top-Left)
- 1. Firefox'ta resmin üst kısmındaki 'Sorgu gönder' görüntü düğmesi görüntü düğmesi
- 2. Grimleme üzerindeki görüntü düğmesi, asp.net
- 3. Görüntü Düğmesi (Android) metni nasıl ayarlanır?
- 4. Görüntü düğmesi ve düğme arasındaki fark
- 5. CSS'de görüntü düğmesi ayarlama - image: active
- 6. JavaFX - Bir Görüntü Düğmesi ile ListView Öğesi
- 7. Bir iframe örtüsünün sağ kenarına bir görüntü düğmesi yapıştırın
- 8. Android - Saydam arka planı atarken resim/görüntü düğmesi nasıl yerleştirilir?
- 9. Resim Düğmesi bir görüntü ekledikten sonra beyaza dönüyor
- 10. Radyo Düğmesi, görüntü yerine bir seçenek olarak metin
- 11. Görüntü denetleyici, navigasyon denetleyicisine basıldığında görünmez geri düğmesi
- 12. ListView add ile KomutAdı, Görünür, CommandArgument ile görüntü düğmesi ekle()
- 13. html düğmesi
- 14. PayPal Düğmesi Metin Düğmesi Olarak
- 15. Garip t düğmesi düğmesi davranışı?
- 16. mutlak pozisyon düğmesi
- 17. Webix geçiş düğmesi için özel CSS düğmesi
- 18. Etiketin ortasındaki radyo düğmesi ekranı
- 19. Geri düğmesi otomatik olarak yerelleştirilemiyor
- 20. JQuery Düğmesi ekran numarası değişikliği
- 21. Primefaces düğmesi
- 22. . "Gir" düğmesi
- 23. angularjs: düğmesi
- 24. Bilgilendirme düğmesi
- 25. Bootstrap düğmesi
- 26. Görüntü kenarındaki görüntü kenarlığı siliniyor
- 27. Swift - Gezinme öğesinde geri düğmesi nasıl gizlenir?
- 28. XAML'de bir daire düğmesi nasıl uygulanır
- 29. PHP dom link görüntü görüntü ve görüntü etiketi önce yayılma
- 30. Android web düğmesi tutam zoom Sorun
Bu bağlantıyı kontrol edebilirsiniz BlackBerry Özel Resim düğmesi oluşturmak için [tıklayınız] (http://www.javacodeone.blogspot.in/2012/10/ blackberry-custom-playpause-image-button.html) burada – String