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

除了按钮只是文本外,此代码有效

        <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命令,但是除了有人抱怨它不起作用并获得在Java中处理它的解决方案外,我找不到关于如何使其在XML中起作用的任何文章。

        <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"/>

最佳答案

这就是我想出的方法。整个页面是线性布局,按钮在页面上垂直排列。每个按钮都是垂直的线性布局,由图像和一些文本组成。垂直布局的所有元素都是可单击的,因此单击图像或文本可做相同的事情。这是单个按钮的示例。尺寸@ 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>

09-11 03:38
查看更多