如何为ImageButton或Button实现按钮背景,其中包含2个textview,每个使用不同的字体大小?我不能使用静态图像作为背景,我需要使用xml或以编程方式实现此目的。
这是一个数字小键盘,它带有一个数字值和一组字母,每个字母使用不同的字体大小,需要设置为按钮文字。
以下是我脑中弹出的一些建议,但似乎有限制,因为我想重用UI组件并避免重复代码。
创建一个包含2个文本字段的布局xml,并将其设置为按钮上的背景。但是如何获取这些textview字段的引用以在MyActivity.java中设置它们的值?
使用分层列表?仍然是textviews的问题参考
或者创建第1步中提到的自定义视图和膨胀布局。此解决方案可以解决我的问题。
此UI要求是否存在任何其他解决方案?
感谢。
答案 0 :(得分:8)
希望这会有所帮助。这个过程不是唯一的解决方案,但它非常简单。在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
}
});
答案 1 :(得分:1)
对于您的按钮,您可以使用此类代码
不要忘记在Assets文件夹中输入字体
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
有关详情,请参阅this
做第二个按钮,如果这有助于让我知道,谢谢......