我有布局,其中包含两个部分:标题和正文。标题包含TextView和图像。标题高度可以通过编程方式更改。标题的图像和文本必须分别缩放。图像缩放确定,但文本不需要缩放。是否可以在Android上如何做到这一点?
我的布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:ignore="UseCompoundDrawables" >
<TextView
android:id="@+id/title_text"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/app_name" />
<ImageView
android:id="@+id/edit_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/edit"
android:src="@drawable/widget_edit" />
</LinearLayout>
<TextView
android:id="@+id/content_text"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
我不认为这对于默认的TextView是可行的 - 至少没有一些黑客攻击。
我尝试使用自定义View类,并在其Canvas上绘制文本。在绘制调用期间,您知道画布的确切宽度和高度,并使用适当的字体大小绘制文本。
如果以编程方式更改高度,则可以定义公式并计算文本的大小。我认为这是一种独特的方式。
您可以实现自定义视图并根据父级的高度定义大小。
存在一种可以是util,sp(与尺度无关的像素)的单元。但这个比例与系统中设置的文本大小有关。