首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

根据xml设置自定义视图的高度和宽度

可以通过以下步骤实现:

  1. 在XML布局文件中,使用自定义视图的标签声明视图,并设置其宽度和高度属性。例如:
代码语言:xml
复制
<com.example.MyCustomView
    android:layout_width="200dp"
    android:layout_height="150dp" />
  1. 在自定义视图的类文件中,继承相应的View类,如View、ImageView等,并实现必要的构造方法和绘制方法。例如:
代码语言:java
复制
public class MyCustomView extends View {
    public MyCustomView(Context context) {
        super(context);
    }

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

    public MyCustomView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        // 在此处实现自定义视图的绘制逻辑
        super.onDraw(canvas);
    }
}
  1. 在自定义视图的构造方法中,获取XML布局文件中设置的宽度和高度属性值,并根据需要进行处理。例如:
代码语言:java
复制
public MyCustomView(Context context, AttributeSet attrs) {
    super(context, attrs);
    TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.MyCustomView);
    int width = typedArray.getDimensionPixelSize(R.styleable.MyCustomView_custom_width, ViewGroup.LayoutParams.WRAP_CONTENT);
    int height = typedArray.getDimensionPixelSize(R.styleable.MyCustomView_custom_height, ViewGroup.LayoutParams.WRAP_CONTENT);
    typedArray.recycle();

    // 根据获取到的宽度和高度进行处理
    // ...
}
  1. 在res/values/attrs.xml文件中定义自定义视图的属性,包括宽度和高度属性。例如:
代码语言:xml
复制
<resources>
    <declare-styleable name="MyCustomView">
        <attr name="custom_width" format="dimension" />
        <attr name="custom_height" format="dimension" />
    </declare-styleable>
</resources>

通过以上步骤,你可以根据XML设置自定义视图的高度和宽度。在自定义视图的类文件中,你可以根据获取到的宽度和高度属性值进行相应的处理,以实现自定义视图的绘制和布局。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 解决Android中自定义DialogFragment解决宽度高度问题

    2、 好处与用法 使用DialogFragment来管理对话框,当旋转屏幕按下后退键时可以更好管理其声明周期,它Fragment有着基本一致声明周期。...onCreateView即使用定义xml布局文件展示Dialog。onCreateDialog即利用AlertDialog或者Dialog创建出Dialog。...下面通过示例代码给大家介绍下Android中自定义DialogFragment解决宽度高度问题 Android中自定义DialogFragment解决宽度高度问题但是我们很多时候想把DialogFragment...高度固定,那么我们需要设置DialogFragment高度,在FragmentonResume()声明周期方法中设置window宽高即可。...Android中自定义DialogFragment解决宽度高度问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家

    4.9K20

    JavaScript、Jquery获取屏幕宽度高度

    在日常项目中经常需要获取屏幕宽度或者高度,简单记录一下: Javascript方法获取: document.body.clientWidth //网页可见区域宽 document.body.clientHeight... //屏幕分辨率宽 window.screen.availHeight //屏幕可用工作区高度 window.screen.availWidth //屏幕可用工作区宽度 JQuery方法获取: ($(...window).height()); //浏览器当前窗口可视区域高度 ($(document).height()); //浏览器当前窗口文档高度 ($(document.body).height())...;//浏览器当前窗口文档body高度 ($(document.body).outerHeight(true));//浏览器当前窗口文档body高度 包括border padding margin...;//浏览器当前窗口文档body宽度 ($(document.body).outerWidth(true));//浏览器当前窗口文档body宽度 包括border padding margin

    5.3K00

    如何在onCreate中获取View高度宽度

    如何在onCreate中获取View高度宽度 在开发过程中经常需要获取到View宽和高,可以通过View.getWidth()View.getHeight()来得到宽高。...然而新手们经常在onCreate方法中直接调用上面两个方法得到值是0! 这是为什么呢? 因为View绘制是通过两个遍历来完成,一个measure过程,一个layout过程。...只有经过“测量”“布局”之后,View才能正确地完成绘制。而这一切是发生在onCreate方法之后。...所以在onCreate中直接使用View.getWidth()View.getHeight()是无法得到正确。 那应该怎么onCreate中获取View宽高呢?...savedInstanceState); view.post(new Runnable(){ public void run(){ //在这里使用View.getWidth()View.getHeight

    5.3K20

    跨浏览器获取不同环境window窗口宽度高度

    IE9+、Firefox、Safari、OperaChrome均为此提供了4个属性: innerWidth 、 innerHeight 、 outerWidth outerHeight 。...在IE9+、SafariFirefox中,outerWidth outerHeight 返回浏览器窗口本身尺寸(无论是从最外层window对象还是从某个框架访问)。...在Opera中,这两个属性值表示页面视图容器大小。而 innerWidth innerHeight 则表示该容器中页面视图大小(减去边框宽度)。...而对于混杂模式下Chrome,则无论通过 document.documentElement 还是 document.body 中 clientWidthclientHeight 属性,都可以取得视口大小...移动IE浏览器不支持这些属性,但通过 document.documentElement.clientWidth document.documentElement.clientHeihgt 提供了相同信息

    2.7K10

    win10 uwp 获取窗口坐标宽度高度 获取可视范围获取当前窗口坐标宽度高度获取最前窗口范围

    本文告诉大家几个方法在 UWP 获取窗口坐标宽度高度 获取可视范围 获取窗口可视大小 Windows.UI.ViewManagement.ApplicationView.GetForCurrentView...().VisibleBounds 获取当前窗口坐标宽度高度 Window.Current.Bounds 获取最前窗口范围 通过 Win32 Api 获取最前窗口范围 IntPtr hWID...E5%8F%A3%E7%9A%84%E5%9D%90%E6%A0%87%E5%92%8C%E5%AE%BD%E5%BA%A6%E9%AB%98%E5%BA%A6.html ,以避免陈旧错误知识误导...,同时有更好阅读体验。...欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://lindexi.gitee.io ),不得用于商业目的,基于本文修改后作品务必以相同许可发布。

    3.8K30

    纯CSS实现移动端常见布局——高度宽度挂钩秘密

    纯CSS实现移动端常见布局——高度宽度挂钩秘密 不踩坑不回头.之前我在一个项目中大量使用css3calc计算属性.写代码时候真心不要太爽啊…但是在项目上线之后,才让我崩溃了,原因很简单,在低于安卓...4.4版本手机上,自带浏览器是不支持这个属性....需要效果,如下图: 需求分析 看图,其实很简单.如果宽度是固定,那么这个布局就不要太简单了. 问题是,设备宽度是不固定哦,那么问题就是,在不知道具体宽度时候,如何来设定它对应高度呢?...也就是说,如何在CSS中,找到一个高度宽度挂钩属性.只要存在这个参数,那么,问题就能解决. 那么有没有这个参数呢?...在我们遇到一些问题时候,尤其是布局这种问题,我们要考虑是,能不能用CSS解决,而不时一位去考虑JS.毕竟,JS是用来交互,而CSS是用来布局.

    1.3K10

    根据数据源字段动态设置报表中列数量以及列宽度

    在报表系统中,我们通常会有这样需求,就是由用户来决定报表中需要显示数据,比如数据源中共有八列数据,用户可以自己选择在报表中显示哪些列,并且能够自动调整列宽度,已铺满整个页面。...本文就讲解一下ActiveReports中该功能实现方法。 第一步:设计包含所有列报表模板,将数据源中所有列先放置到报表设计界面,并设置你需要列宽,最终界面如下: ?...,并计算需要显示控件宽度 for (int c = 0; c < cols.Count; c++) { if (!...if (tmp == null) { // 设置需要显示第一列坐标 headers[c...源码下载: 动态设置报表中列数量以及列宽度

    4.9K100

    自定义View实现设置中心功能视图

    View来减少工作量,这里利用自定义View实现设置中心功能视图。...问题引出 ---- 我有这么一个需求,在设置中心可以设置对电话短信拦截是否开启,如下图: ? 实现上面视图,需要布局文件如下: <?...自定义View实现设置中心功能视图Demo ---- 把上边布局文件中需要重复书写布局提取出来,放到一个单独布局文件中,以供自定义View引用。...我们还可以看到SettingView中还定义了一些gettersetter方法,这些方法是为了操作(设置获取)文本而创建。...,并设置默认标题描述信息,这样在代码中就不用再显示设置文本了;并通过判断勾选状态来设置描述信息。

    93140

    C# dotnet 使用 OpenXml 解析 PPT 元素坐标宽度高度

    本文将告诉大家如何从 PPT 里面解析出通用元素 x y 值,以及元素宽度高度值 在开始之前请看 C# dotnet 使用 OpenXml 解析 PPT 文件 在拿到 slidePart.Slide.CommonSlideData.ShapeTree...里面的元素,几乎所有元素都存在坐标宽度高度,这里元素我称为通用元素,也就是不是特定的如形状、图片元素 此时元素应该是继承 OpenXmlElement 类,在这个类里面可以通过 GetFirstChild...Emu 上面的类是我自己定义,有可以抄代码,请看 C# dontet Office Open XML Unit Converter 我定义了像素转换代码 可以通过 Extents 也就是 a:...ext 获取元素宽度高度,请看代码 var extents = transform2D.GetFirstChild();...UWP 中设置元素坐标请看 win10 uwp 拖动控件 ----

    1.6K10

    img固定宽度高度,不规则图片变形问题解决方法

    同样 background-size contain (完整显示) cover (填充)属性也能起到相同效果。...2、object-fit object-fit CSS 属性指定可替换元素内容应该如何适应到其使用高度宽度确定框,不支持IE。...scale-down 当图片实际宽高小于所设置图片宽高时,显示效果与none一致;否则,显示效果与contain一致 inherit 继承 initial 默认值 unset 继承父元素,若父元素没有属性则显示默认值...设置 height: 100%; 为图片全部填充,这时候需要给图片容器添加 overflow: hidden; 属性,防止图片超出。...1px solid red; } ul li img {     max-height: 100%;     max-width: 100%; } 声明:本文由w3h5原创,转载请注明出处:《img固定宽度高度

    10.2K20

    WPF 获取本机所有字体拿到每个字符宽度高度

    本文主要采用 GlyphTypeface 类尝试获取每个字符宽度高度值,尽管这个方法最终 WPF 布局使用文本宽度高度是不相同,但是依然可以作为参考 获取系统字体文件夹文件 系统字体文件夹放在...var uri = new Uri(font); GlyphTypeface g = new GlyphTypeface(uri); } 获取定义字符宽度高度比例...w h 就是宽度高度比例 ?...(System.Windows.Media) 如果需要设置 FontWeight 等影响,可以使用先创建 Typeface 方法,请看下面代码 var typeface = new Typeface...out GlyphTypeface glyph); // 如果 TryGetGlyphTypeface 创建失败,那么就是缺少字体等,可以尝试使用微软雅黑等默认字体 上面代码获取 glyph 就可以使用上文相同方法获取文本字符宽度

    2.1K20
    领券