2012-04-27 2 views
3

새로운 앱을 준비 중이며 TextField 만 만들고 싶습니다.블랙 베리의 EditField/BasicEditField/RichTextField에서 선택한 글꼴 색을 변경 하시겠습니까?

텍스트의 일부를 선택하고 색상을 변경하는 기능을 제공해야합니다. 예 : 안녕하세요, 저는 검은 딸기 개발자입니다. 이제 런타임시 블랙 베리 개발자의 글꼴 색상을 변경하고 싶습니다.

어느 것이나 EditField 또는 BasicEditField 또는 RichTextField에서 가능한가요? 사전에 Thanxx을! :)

+0

은 어느 * 제품 *'BasicEditField'와도 * 제품 *'EditField'으로 불가능하다. 지금까지 내가 기억하는 한,'RichTextField'를 사용하는 것이 가능합니다. – mrvincenzo

답변

1
LabelField labelField2 = new LabelField("hello, I am blackberry developer",Field.FOCUSABLE){ 

     boolean _inFocus = false; 
     public void onFocus(int direction) { 
      _inFocus = true; 
      this.invalidate(); 
     } 
     public void onUnfocus() { 
      _inFocus = false; 
      this.invalidate(); 
     } 
     protected void paint(Graphics graphics) { 
      if(_inFocus){ 
       graphics.setColor(Color.BLUE); 
      }else{ 
       graphics.setColor(Color.RED); 
     } 
      super.paint(graphics); 
     } 
     protected void drawFocus(Graphics g, boolean on) { 
     } 
    }; 

즐기 ...

+0

전체 문자열의 색상이 변경 될 것입니다. '안녕하세요, 저는 블랙 베리 개발자입니다.' 그러나 질문은 선택한 텍스트의 글꼴 색만 설정하는 방법을 묻습니다 (예 : 모든 텍스트가 아닌'블랙 베리 개발자 '의 색이 바뀌었다. – Rupak

+0

두 개의 lableField를 만들고 HorizontalFieldManager에 설정하십시오. 하나의 LabelField에는 포커스가 가능하고 하나의 LabelField에는 포커스가 없습니다. 이제는 포커스가 가능한 lableField는 색상이 변경되고 포커스가 설정되지 않으면 그대로 유지됩니다. 다른 현명한 방법으로 페인트 논리를 설정합니다. –

+0

고맙습니다. 시간을 내 주셔서 감사합니다.하지만 라벨 필드가 아닌 편집 필드로 작업하고 있다는 것을 분명히해야합니다. 내 애플리케이션에 메일을 쓰고 있고 그 시간에 2 단어를 선택하고 싶습니다. 변경하고 싶습니다. 그것의 색깔. 이제 우리는 런타임 편집이나 필드에 데이터를 입력하기 위해 레이블 필드를 사용할 수 없다고 생각합니다. sugggestions을 제공하십시오. –