1

我设置了一些按钮,左边有图标,右边有文字。一切都随着屏幕尺寸(手机平板电脑)而缩放,但问题是按钮只是文本。我希望按钮是整行,以便具有焦点的按钮正确亮起(我使用遥控器)。

此代码有效,但按钮只是文本

        <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" 
        android:onClick="onSetTargets">

    <ImageView
            android:id="@+id/imageView1"
            android:layout_width="@dimen/menu"
            android:layout_height="@dimen/menu"
            android:layout_marginTop="@dimen/padding_small"
            android:src="@raw/target" 
            android:onClick="onSetTargets"/>

    <Button
        android:id="@+id/set_Targets"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/buttonselector"
        android:ellipsize="none"
        android:gravity="left"
        android:onClick="onSetTargets"
        android:singleLine="true"
        android:text=" Targets "
        android:textColor="@android:color/white"
        android:textSize="@dimen/menu" />

    </LinearLayout>

这只是线性布局中的一个部分,然后一行中有几个按钮。

以下是我想要工作的内容,但我不知道如何缩放可绘制对象。我知道有一个 scaleDrawable 命令,但我找不到任何关于如何使其在 XML 中工作的帖子,除了人们抱怨它不起作用并获得在 java 中处理它的解决方案。

        <Button
        android:id="@+id/set_start_time"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/buttonselector"
        android:gravity="left"
        android:onClick="onStartTime"
        android:text=" Timer"
        android:textColor="@android:color/white"
        android:textSize="@dimen/menu" 
        android:drawableLeft="@raw/hourglass"/>
4

1 回答 1

2

这就是我想出的有效方法。整个页面是线性布局,按钮在页面上垂直排列。每个按钮都是由图像和一些文本组成的垂直线性布局。垂直布局的所有元素都是可单击的,因此单击图像或文本会执行相同的操作。这是单个按钮的示例。@dimen/menu 的尺寸是针对手机和平板电脑尺寸定义的,并且图像将缩放以匹配规范。

        <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" 
        android:onClick="onSetTargets">

    <ImageView
            android:id="@+id/imageView1"
            android:layout_width="@dimen/menu"
            android:layout_height="@dimen/menu"
            android:layout_marginTop="@dimen/padding_small"
            android:src="@raw/target" 
            android:onClick="onSetTargets"/>

    <Button
        android:id="@+id/set_Targets"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/buttonselector"
        android:ellipsize="none"
        android:gravity="left"
        android:onClick="onSetTargets"
        android:singleLine="true"
        android:text=" Targets "
        android:textColor="@android:color/white"
        android:textSize="@dimen/menu" />

    </LinearLayout>
于 2013-01-18T06:24:04.830 回答