2012-01-16 8 views
2

私のアプリケーションのビューにいくつかのリンクを表示する必要があります。しかし、私はそれについて何も見つけることができません。出来ますか??どのように私のビューhiearchyでブラックベリーブラウザを使用できますか?

私はブラウザのコンテンツ(フィールド)を配置したいと思っていますどこosの灰色の領域< 5.00?

must be this image

+0

このリンクにアクセスしてください。http://stackoverflow.com/questions/7606462/how-to-stop-browserfield-requestcontent-method-when-back-to-mainscreen-on- bla/7607061#7607061 リンク(url)をパラメータとしてそのコンストラクタに送信します。画面を呼び出します。 – alishaik786

+0

BrowserfiledはBlackBerry API 5.0.0です。私はすべてのバージョンのフィールドを使用する必要があります。フィールドからcustomBrowserを拡張する必要がありますか? – atasoyh

答えて

0

次のコードを使用するハイパーリンクであるフィールドを表示したい場合。

package com.myApp.controls; 

import net.rim.device.api.ui.Color; 
import net.rim.device.api.ui.Field; 
import net.rim.device.api.ui.Font; 
import net.rim.device.api.ui.Graphics; 
public class HrefField extends Field { 

private String content; 
private Font fieldFont; 
private int fieldWidth; 
private int fieldHeight; 
private boolean active = false; 
private int backgroundColour = Color.WHITE; 
private int textColour = Color.BLACK; 
private int[] drawFocusColors; 

public HrefField(String content) { 
    super(Field.FOCUSABLE); 
    this.content = content; 
    fieldFont = Font.getDefaultFont(); 
    fieldWidth = fieldFont.getAdvance(content) + 2; 
    fieldHeight = fieldFont.getHeight() + 3; 
    drawFocusColors = new int[] { Color.ORANGE, 
      Color.ORANGE,Color.RED, 
      Color.RED}; 
} 

public void setColours(int backgroundColour, int textColour) { 
    this.backgroundColour = backgroundColour; 
    this.textColour = textColour; 
    invalidate(); 
} 

public void setBackgroundColour(int backgroundColour) { 
    this.backgroundColour = backgroundColour; 
    invalidate(); 
} 

public void setTextColour(int textColour) { 
    this.textColour = textColour; 
    invalidate(); 
} 

public void setMaskColour() { 
    invalidate(); 
} 

public void setFont(Font fieldFont) { 
    this.fieldFont = fieldFont; 
} 

public int getPreferredWidth() { 
    return fieldWidth; 
} 

public int getPreferredHeight() { 
    return fieldHeight; 
} 

protected void layout(int arg0, int arg1) { 
    setExtent(getPreferredWidth(), getPreferredHeight()); 
} 

protected void paint(Graphics graphics) { 
    int[] X_PTS = new int[] { 0, fieldWidth, fieldWidth, 0 }; 
    int[] Y_PTS = { 0, 0, fieldHeight, fieldHeight }; 
    if (active) { 
     graphics.drawShadedFilledPath(X_PTS, Y_PTS, null, drawFocusColors, 
       null); 
    } else { 
     graphics.setColor(backgroundColour); 
     graphics.fillRect(0, 0, fieldWidth, fieldHeight); 
    } 

    graphics.setColor(textColour); 
    graphics.setFont(fieldFont); 
    graphics.drawText(content, 1, 1); 
    graphics.drawLine(1, fieldHeight - 2, fieldWidth - 2, fieldHeight - 2); 
} 

protected boolean navigationClick(int status, int time) { 
    fieldChangeNotify(1); 
    return true; 
} 

protected void onFocus(int direction) { 
    active = true; 
    invalidate(); 
} 

protected void onUnfocus() { 
    active = false; 
    invalidate(); 
} 

}

+0

いいえ、ありがとう。私はいくつかのURLを開きます。 – atasoyh

関連する問題