2014-04-11 1 views
3

각기 다른 글꼴 크기를 사용하는 2 개의 textview가 포함 된 ImageButton 또는 Button 용 버튼 배경을 구현하려면 어떻게해야합니까? 배경으로 정적 이미지를 사용할 수 없으며 xml을 사용하거나 프로그래밍 방식으로이 작업을 수행해야합니다.Android에서 버튼 텍스트에 두 가지 글꼴 크기를 사용하는 방법은 무엇입니까?

이 숫자 키패드는 숫자 값과 각기 다른 글꼴 크기를 사용하며 단추 텍스트로 설정해야하는 영문자 집합을 전달합니다.

enter image description here

여기 내 머리에 팝업하지만 난 UI 컴포넌트를 재사용하고 코드의 반복을 피하기 위해 원하기 때문에 한계를 갖고있는 것 같아요 그 제안의 일부입니다.

  1. 2 개의 텍스트 필드를 포함하는 레이아웃 xml을 만들고 버튼에 배경으로 설정합니다. 하지만 MyActivity.java에서 이들 값을 설정하기 위해이 텍스트 뷰 필드에 대한 참조를 얻으려면 어떻게해야합니까?

  2. 계층화 된 목록을 사용 하시겠습니까? 텍스트 뷰의 여전히 동일한 문제 참조

  3. 또는 사용자 지정보기를 만들고 1 단계에서 설명한 레이아웃을 확장합니다.이 솔루션은 내 문제를 해결합니다.

이 UI 요구 사항에 대한 다른 해결책이 있습니까?

감사합니다. 당신이 당신의 자산 폴더

Button btnA=(Button) findViewById(R.id.button1); 
Typeface typeface = Typeface.createFromAsset(getAssets(), "yourFont.ttf"); 
btnA.setText("my custom font"); 
btnA.setTypeface(typeface); 
btnA.setTextSize(20);//as per your size 

에 넣어 글꼴을 잊지 않는이

과 같은 코드를 사용할 수있는 버튼 등을 참조

+1

당신은 html 태그 소요 그 효과를 낳는 n은 다시 문자열로 반환 변환 Html.fromHtml() 메서드를 사용할 수 있습니다. 따라서 setText()를 사용하여 단추에 적용 할 수 있습니다. 모든 태그가이 방법으로 supportrd 무엇인지 Commonsware에서 Thers 링크하지만 난 지금 당장 가지고있어. 4 번 찾아야 해. http://stackoverflow.com/questions :) –

+0

나의 제안 : – Kedarnath

+0

[1] [1]이 하나가 [여기] you..click 도움이 될 수 있음 상대 이미지로하여 ImageButton을 사용하는 것입니다/12048862/서로 다른 글꼴을 사용하는 두 줄짜리 맞춤 작성 버튼? rq = 1 – user3468596

답변

6

잘하면이 도움이됩니다. 이 과정은 유일한 해결책은 아니지만 매우 단순한 과정입니다. 단추 대신 xml 부분에 xml 부분을 추가하십시오.

XML

<LinearLayout 
    android:id="@+id/button_layout" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" > 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="20sp" 
     android:text="5"/> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="12sp" 
     android:text="ABC"/> 

</LinearLayout> 

CODE

LinearLayout button= (LinearLayout)findViewById(R.id.button_layout); 
    button.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO DO whatever you want to do here 

     } 
    }); 
+0

고마워, 내가 원했던 것을 정확하게 얻었습니다. 감사합니다 @ 오야 – AKh

1

this이 두 번째 버튼 것처럼 할 참조 이 덕분에 알려 줘서 고마워.

+0

고맙습니다. Oya가 제안한 것과 유사합니다. – AKh

관련 문제