jjzjj

widthMeasureSpec

全部标签

android - 当内容无法容纳时,如何创建默认形状为正方形且高度可自动调整的 TextView?

我想创建一个默认为正方形的自定义TextView,但如果文本无法容纳,高度会自动增加以容纳内容。我尝试将高度设置为wrap_content并像这样覆盖onMeasure():@OverrideprotectedvoidonMeasure(intwidthMeasureSpec,intheightMeasureSpec){intnewHeight=heightMeasureSpec>widthMeasureSpec?heightMeasureSpec:widthMeasureSpec;super.onMeasure(widthMeasureSpec,newHeight);}但这没有用。内

android - View 类的 onMeasure(int widthMeasureSpec, int heightMeasureSpec) 方法中参数值的单位是什么?

谁能告诉我参数的单位是什么onMeasure(intwidthMeasureSpec,intheightMeasureSpec)这个View类方法。我打印日志,它分别返回1073742144、-2147483251。 最佳答案 该值是模式和大小的组合。使用View.MeasureSpec.getMode(widthMeasureSpec)获取模式(MeasureSpec.EXACTLY、MeasureSpec.AT_MOST和MeasureSpec之一。未指定);您可能想知道的是View.MeasureSpec.getSize(wi

android - 如何在 onDraw() 方法中定义像素独立高度

我扩展了View以构建自定义小部件。我想用一个独立的像素单位来定义小部件的高度。我认为这可以通过将像素密度乘以所需的高度来完成,但我不知道该怎么做。我到目前为止(最小化):publicclassTimelineextendsView{@OverrideprotectedvoidonDraw(Canvascanvas){//super.onDraw(canvas);intcanvasWidth=canvas.getWidth();this.widgetWith=canvasWidth;this.setBackgroundGradientNoVideo();RectFrect=newRec

Android TabPage Indicator 内容包装问题

我遇到了ViewPager的另一个问题,我现在无法用我目前的知识解决它。我有带ViewPager的TabPageIndicator,在每个选项卡上,我都显示文本。这是简单的TextView:我希望选项卡中的文本始终是单行并且始终是整个文本,而不是椭圆形、无换行、不超过1行。用户需要能够完整阅读它...但我做不到,我尝试了不同的选项,但仍然遇到一些问题-要么文本不止一行,但只显示第一行,要么只显示部分文本显示。你有过类似的经历吗?感谢任何帮助编辑一:我认为问题出在这里:@OverridepublicvoidonMeasure(intwidthMeasureSpec,intheightMe

android - Android自定义 View 中的widthMeasureSpec和heightMeasureSpec是什么?

我见过很多在android中创建自定义View和布局的例子。我从他们那里学到的是度量(如Android开发者网站上所说)方法是onMeasure(),它有widthMeasureSpec和heightMeasureSpec作为参数。这些参数的实际含义是什么?它们的初始值是多少?如果我创建的自定义View是我的Activity的父View,它们会被调用什么值?我对这些问题真的很困惑。 最佳答案 widthMeasureSpec和heightMeasureSpec是复合变量。这意味着虽然它们只是普通的旧整数,但它们实际上包含两个独立的数

android - Android自定义 View 中的widthMeasureSpec和heightMeasureSpec是什么?

我见过很多在android中创建自定义View和布局的例子。我从他们那里学到的是度量(如Android开发者网站上所说)方法是onMeasure(),它有widthMeasureSpec和heightMeasureSpec作为参数。这些参数的实际含义是什么?它们的初始值是多少?如果我创建的自定义View是我的Activity的父View,它们会被调用什么值?我对这些问题真的很困惑。 最佳答案 widthMeasureSpec和heightMeasureSpec是复合变量。这意味着虽然它们只是普通的旧整数,但它们实际上包含两个独立的数

android - 进行动态但方形布局的简单方法

我使用GridView来显示一堆本质上是LinearLayouts的View。我希望LinearLayouts都是方形的,但我也希望它们是动态调整大小的——也就是说,有两列,我希望LinearLayouts根据屏幕的大小,但保持正方形。有没有办法通过xml布局来做到这一点,还是我必须以编程方式设置高度和宽度? 最佳答案 方形GridView项目的一个巧妙的解决方案是扩展RelativeLayout或LinearLayout并覆盖onMeasure,如下所示:@OverridepublicvoidonMeasure(intwidthM

android - 进行动态但方形布局的简单方法

我使用GridView来显示一堆本质上是LinearLayouts的View。我希望LinearLayouts都是方形的,但我也希望它们是动态调整大小的——也就是说,有两列,我希望LinearLayouts根据屏幕的大小,但保持正方形。有没有办法通过xml布局来做到这一点,还是我必须以编程方式设置高度和宽度? 最佳答案 方形GridView项目的一个巧妙的解决方案是扩展RelativeLayout或LinearLayout并覆盖onMeasure,如下所示:@OverridepublicvoidonMeasure(intwidthM

Android:我无法拥有 ViewPager WRAP_CONTENT

我已经设置了一个简单的ViewPager,它在每个页面上都有一个高度为200dp的ImageView。这是我的寻呼机:pager=newViewPager(this);pager.setLayoutParams(newLayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));pager.setBackgroundColor(Color.WHITE);pager.setOnPageChangeListener(listener);layout.addView(pager);尽管高度设置为wrap_content,但

Android:我无法拥有 ViewPager WRAP_CONTENT

我已经设置了一个简单的ViewPager,它在每个页面上都有一个高度为200dp的ImageView。这是我的寻呼机:pager=newViewPager(this);pager.setLayoutParams(newLayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));pager.setBackgroundColor(Color.WHITE);pager.setOnPageChangeListener(listener);layout.addView(pager);尽管高度设置为wrap_content,但