当前位置: 首页 > 知识库问答 >
问题:

在布局文件中设置layout_height等于layout_width=“match_parent”

仲孙献
2023-03-14

共有1个答案

陶英达
2023-03-14

您可以通过扩展视图并使用xml中的自定义类来以编程方式调整视图的大小。例如,我将扩展ImageView类并返回一个正方形图像(通过将高度更改为宽度的大小):

public class SquareImageView extends ImageView {


    public SquareImageView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    /**
     * Allows the view to resize 
     * {@inheritDoc}
     */
    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        int width = MeasureSpec.getSize(widthMeasureSpec);
        setMeasuredDimension(width, width); //setting height same as width here
    }
}

如前所述,使用该类总是会得到一个正方形图像,其中高度等于宽度。

要在布局文件中使用它,请执行以下操作:

<com.packagename.SquareImageView
        android:id="@+id/image"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
 类似资料:
  • 是否可以为所有xml视图的宽度和高度设置项目默认值?我的xmls中80%的项具有: Android:layout_width=“match_parent”

  • 问题内容: 我需要能够动态设置EditText的height属性。我在整个应用程序中都将数据绑定用于其他属性,因此,我希望能够使用数据绑定来控制元素的高度。这是我的xml的精简版本: 这是我的视图模型的精简版: 尺寸在dimens.xml文件中。我正在修改视图模型中的属性。但是,当我启动该应用程序时,我在启动后立即收到以下错误消息(bindingadapter不会在调试时触发)。我在屏幕上还有其他

  • 首先,image视图具有以下配置(注意fitStart): 然后通过编程方式,对图像的高度进行小的修改,以匹配宽度(在activity.onResume()中)

  • 我试图创建一个假想的车辆,有自动和手动模式的用户界面。当用户将车辆设置为其中一种模式时,它应该只显示与该模式相关的控件,我已经使用CardLayout完成了这一点。 然而,我也希望能够为每张卡片手动指定布局中各种元素的位置——对于静态布局,我会按照,但在CardLayout上使用时,这只会给出一个空白窗口(因此下面代码中有两行注释掉)。 我如何实现这两个目标?我目前的代码如下:

  • 文件布局可控制如何把文件内容映射到各 Ceph RADOS 对象,你可以用虚拟扩展属性或 xattrs 来读、写某一文件的布局。 布局 xattrs 的名字取决于此文件是常规文件还是目录,常规文件的布局 xattrs 叫作 ceph.file.layout 、目录的布局 xattrs 叫作 ceph.dir.layout 。因此后续实例中若用的是 ceph.file.layout ,处理目录时就要