jjzjj

MeasureSpec

全部标签

Android Listview 测量高度

我试图找到一种方法来根据其子项的高度设置ListView的高度。我按照这里给出的解决方案:HowcanIputaListViewintoaScrollViewwithoutitcollapsing?publicvoidsetListViewHeightBasedOnChildren(ListViewlistView){ListAdapterlistAdapter=listView.getAdapter();if(listAdapter==null){//pre-conditionreturn;}inttotalHeight=0;for(inti=0;i现在我像这样在ListView上调

android - 来自代码的屏幕截图

我需要捕获当前屏幕的屏幕截图,所以我采用了下面的代码protectedvoidonPause(){//TODOAuto-generatedmethodstubsuper.onPause();LinearLayoutv=(LinearLayout)findViewById(R.id.mainLayout);v.setDrawingCacheEnabled(true);//thisistheimportantcode:)//Withoutittheviewwillhavea//dimensionof0,0andthebitmapwill//benullv.measure(MeasureSp

android - 覆盖 RelativeLayout 的 onMeasure() 以限制其纵横比

我有一个扩展的RelativeLayout,当使用RelativeLayout.LayoutParams以编程方式定位和调整大小时,它需要将自身限制为给定的纵横比。通常,我希望它能将自身限制为1:1,这样如果RelativeLayout.LayoutParams包含200的width和height100,自定义RelativeLayout会将自身限制为100x100。我已经习惯于在普通自定义View中覆盖onMeasure()以实现类似的目标。例如,我已经创建了自己的SVG图像转换器,并且呈现SVG图像的自定义View有一个重写的onMeasure()确保对的调用setMeasured

android - 如何将线性布局转换为图像

我想将完整的layout及其内容(views)转换为Drawable图像? 最佳答案 试试下面的代码:publicclassAndroidWebImageextendsActivity{ImageViewbmImage;LinearLayoutview;/**Calledwhentheactivityisfirstcreated.*/@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentVi

Android:根据宽度在 XML 中设置按钮高度

我正在使用androidXML进行布局,我想在其中设置按钮高度以在设置为填充父级时匹配它的宽度。显然这个数字会根据屏幕大小而变化,所以我不能使用设置的像素大小。有人可以帮我根据屏幕尺寸获取按钮宽度,然后将其传递给高度设置吗?谢谢你,乔希 最佳答案 我曾经遇到过类似的问题,但找不到仅适用于XML的解决方案。您必须编写自己的按钮类并覆盖[onMeassure][1]方法。例子:/***@seeandroid.view.View#measure(int,int)*/@OverrideprotectedvoidonMeasure(intwi

Android:将两个叠加 ImageView 组合到具有正确位置的 bmp

我有两个ImageView。ImageView1是背景图像,ImageView2是较小的图像。ImageView2的位置在应用程序的中间某处。我想将这两个ImageView组合成一个位图,以便ImageView2位于ImageView1之上。合并过程工作正常,但ImageView2始终位于bmp文件的左上角。下面是我用来生成bmp的代码:ImageViewiv=(ImageView)findViewById(R.id.imageView1);ImageViewiv2=(ImageView)findViewById(R.id.imageView2);FilerootPath=newFil

Android customView如何计算onMeasure来填充parent

我正在尝试绘制自定义View,一切都呈现良好,除了最右边的部分被切断。我希望View填充父级并且只使用所需的高度量(即我正在绘制的位图的高度。当我从Activity的xml布局中删除填充时,自定义View呈现得很好。所以我不是在考虑parent填充的情况下计算onMeasure。请有人看一下这段代码并描述我出错的原因和方式吗?谢谢编辑以包括@nicko的回答和更多详细信息:@OverrideprotectedvoidonMeasure(intwidthMeasureSpec,intheightMeasureSpec){super.onMeasure(widthMeasureSpec,h

android - 带有可扩展子项的 ViewPager

我正在尝试创建可折叠的日历。我在ViewPager中使用自定义calendarView,所以当展开/折叠按钮按下时,我的calendarView动画折叠所有日历周,只有一个除外。目标是在展开时滑动月份(如我所愿),在折叠时滑动周。calendarView下方是带有一些事件的ListView,当用户折叠日历时-listView高度必须改变。问题是当我试图在ViewPager中折叠calendarView时,他没有改变高度。calendarView是一个带有subview的LinearLayout,当它不在ViewPager中时,它会动画并改变大小。我正在使用小fragment来为它的ch

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 - 来自 TextView (getDrawingCache) 的位图始终为 null

我正在尝试提取与显示的TextView实例关联的位图,但它总是返回空值。我究竟做错了什么?我应该改用textview.draw(canvas)吗?TextViewtextview=(TextView)findViewById(R.id.text_title);textview.setDrawingCacheEnabled(true);textview.buildDrawingCache();Bitmapbmp=textview.getDrawingCache(); 最佳答案 在获取绘图缓存之前执行此操作将解决问题view.measu