java - 如何在不改变高度的情况下改变矩形的宽度

标签 java android xml drawable shapes

我正在尝试制作一个包含 5 列的动态条形图,该图表会根据用户输入进行更改。我定义了一个矩形 xml 可绘制形状,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
   android:shape="rectangle">

<corners
    android:radius="2dp"
    />
<solid
    android:color="#c73434"
    />
<padding
    android:left="0dp"
    android:top="0dp"
    android:right="0dp"
    android:bottom="0dp"
    />
<size
    android:width="270dp"
    android:height="60dp"
    />

<stroke android:width="2px"
        color="#ff00ffff" />
</shape>

我已将条形形状嵌入到我的 xml 布局文件中 5 次,如下所示:

                <ImageView
                    android:id="@+id/bar_1"
                    android:layout_height="match_parent"
                    android:layout_width="match_parent"
                    android:gravity="start"
                    android:src="@drawable/bar"/>
                <ImageView
                    android:id="@+id/bar_2"
                    android:layout_height="match_parent"
                    android:layout_width="match_parent"
                    android:gravity="start"
                    android:src="@drawable/bar"/>
                    etc...

我希望能够根据用户输入更改栏的宽度,但是当我调整 ImageView 的“宽度”属性时,它也会按比例影响高度(因此整个栏会变小)。有什么建议么?有更好的方法吗?

最佳答案

我认为有两件事:

  1. 使您的 ImageView 换行内容而不是 match_parent(对此不确定)
  2. 最重要的是,消除您正在使用的背景可绘制对象的大小限制。我认为它保留了你的纵横比。

关于java - 如何在不改变高度的情况下改变矩形的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37122416/

相关文章:

php - 在 XML 和 PHP 中解析 MathML

Android .out.xml 错误?

java - 二叉树 : method remove subtree

android - 轻型导航栏

javascript - Cordova - 从 URL 下载图像到图片库

Android:SearchView setQuery 不会在方向更改时设置文本

java - java 9中引入的方法是使用编译器目标java 8编译的

java - 如果 for every 循环中声明的变量将在 foot 循环之外打印怎么办?

java - 如何实现顺序处理

php - 将多个xml合并为一个