Criando um botão personalizado com duas linhas de texto, cada uma com uma fonte diferente

Estou um pouco preso aqui e poderia realmente usar alguma ajuda. Parece-me que deve ser muito fácil adicionar duas linhas separadas de texto a um botão. Mas simplesmente não é. Há uma maneira de fazer isso com tags html, mas isso não permite que você especifique a fonte ou o tamanho do texto além de "grande" e "pequeno".

Aqui está o meu botão, é chamado 'clicky':

   <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/buttondown"
          android:state_pressed="true" />
    <item android:drawable="@drawable/buttonup" />
</selector>

E aqui é onde ele aparece em um dos arquivos de layout:

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical" 
 android:layout_width="fill_parent"
  android:layout_height="fill_parent">



<Button
        android:id="@+id/clicky"
        android:layout_width="137.5dip"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="2dip"
        android:layout_marginBottom="2dip"
        android:layout_marginRight="1dip"
        android:textSize="20dip"
        android:background="@drawable/clicky"
  />


  <ListView 
    android:id="@+id/ListView01" 
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:divider="#000000"
    android:dividerHeight="2dip"
    android:layout_below="@+id/separator"/>

</RelativeLayout>

E aqui está o que eu tenho no método onCreate ():

Typeface customFont = Typeface.createFromAsset(getAssets(),"fonts/zooper.ttf");
 Button mButton=(Button)findViewById(R.id.clicky);
        mButton.setText("Hi There");
        TextView clicky = (TextView)findViewById(R.id.clicky);
        clicky.setTypeface(customFont);

O texto no botão é criado dinamicamente, então eu tenho que fazer isso aqui (agora está estático, mas depois "Hi There" será substituído por uma variável). A outra linha de texto será muito menor, estática e colocada abaixo de "Hi There". Eu passei por tudo no Google que remotamente se assemelha a minha pergunta, mas eu simplesmente não consigo encontrar uma resposta que eu possa adaptar ao meu problema.

Então, mais uma vez, eu preciso de um único botão com duas linhas separadas de texto, uma acima da outra. A linha superior é grande, criada dinamicamente e usa uma fonte personalizada. A linha inferior do texto será muito menor, estática e pode usar uma fonte do sistema.

É realmente tão difícil apenas aninhar um LinearLayout dentro de um botão?

Qualquer ajuda seria muito apreciada.

questionAnswers(1)

yourAnswerToTheQuestion