我正在开发一个应用程序,主菜单上有一系列按钮,我希望它们都具有相同的文本大小。我可以在属性文件中指定它吗?
这是我当前的XML文件。
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TableRow
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@+id/sensors_available"
android:text="@string/sensors_available"
android:textSize="12sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</TableRow>
<TableRow
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@+id/b_start_hm"
android:text="@string/hm_start_service"
android:textSize="12sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/b_stop_hm_service"
android:text="@string/hm_stop_service"
android:textSize="12sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</TableRow>
<TableRow
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@+id/b_start_hot_video"
android:text="@string/video_service_start"
android:onClick="startHotVideoService"
android:textSize="12sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/b_hv_stop_service"
android:text="@string/hv_stop_service"
android:textSize="12sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</TableRow>
</TableLayout>
我是否可以用12sp
之类的内容替换所有@string\custom_text_size
,然后在string.xml文件中定义它?当我尝试这个时,当我启动我的应用程序时,我遇到了致命的异常。
答案 0 :(得分:2)
你是如此接近,但你需要定义一个dimen
而不是string
<dimen name="textSize12">12sp</dimen>
你的Button
看起来像这样.-
<Button
android:id="@+id/b_stop_hm_service"
android:text="@string/hm_stop_service"
android:textSize="@dimen/textSize12"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
理想情况下,dimen
资源是在单独的资源文件中定义的,例如dimens.xml
答案 1 :(得分:0)
在res / values / styles.xml中创建样式:
<style name="TextSize">
<item name="android:textSize">12sp</item>
</style>
在您的XML中声明它:
<Button
android:id="@+id/b_start_hot_video"
android:text="@string/video_service_start"
android:onClick="startHotVideoService"
style="@style/TextSize"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
通过使用样式,您可以存储多个设置,例如背景drawables,textColor等...