草庐IT

layoutparams

全部标签

java.lang.ClassCastException : android. widget.RelativeLayout$LayoutParams 无法转换为 android.support.v7.widget.RecyclerView$LayoutParams

我使用androidRecycleView来替换ListLiew。我想做的是在我的列表项中的一个ImageView上启用onClick(想象这个列表项有一个图像和一个文本,我想向图像添加一个onClick监听器而不是列表项本身)我使用以下布局xml创建一个RecycleView适配器:和我的onCreateViewHolder@OverridepublicViewHolderonCreateViewHolder(ViewGroupparent,intviewType){Viewv=LayoutInflater.from(parent.getContext()).inflate(R.la

安卓 M ClassCastException : FrameLayout$LayoutParams cannot be cast to WindowManager$LayoutParams

这段代码似乎适用于androidapi16-22,但不适用于api23。我只是想显示一个带有选项的弹出窗口,并使弹出窗口下方的背景变暗:WindowPopUpwindowPopUp=newWindowPopUp(mContext,mPlaces.get(position),position,fromSearch);windowPopUp.showAtLocation(v,Gravity.CENTER,0,0);Viewparent=(View)windowPopUp.getContentView().getParent();//dimthewindowinthebackgroundWi

android - 可以将事件传递到 TYPE_SYSTEM_ALERT 或类似层下的层的 WindowManager.LayoutParams 组合

谁能帮我获得WindowManager.LayoutParams组合,它可以将事件传递到TYPE_SYSTEM_ALERT或类似叠加类型(位于所有其他窗口的顶部)下的层。问题:我的问题是当窗口类型TYPE_SYSTEM_ALERT获得焦点时,它停止将运动事件传递给它下面的其他应用程序。示例代码WindowManager.LayoutParamsparams=newWindowManager.LayoutParams(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT,WindowManager.LayoutParams.FLAG_NOT_FOCUS

java.lang.ClassCastException : android. widget.LinearLayout$LayoutParams 无法转换为 android.support.v7.widget.RecyclerView$LayoutParams

我有一个RecyclerView,里面有一个LinearLayout。LinearLayout由9个按钮组成。在进行一些更改之前,我可以单击按钮并且它没有崩溃。但是在我在下面添加这段代码后,它给出了错误并且没有显示它来自哪里:java.lang.ClassCastException:android.widget.LinearLayout$LayoutParamscannotbecasttoandroid.support.v7.widget.RecyclerView$LayoutParamsAdapter中的导入:importandroid.content.Context;importa

android - 让 LayoutParams.WRAP_CONTENT 忽略大背景图像

我正在尝试制作一个高度=LayoutParams.WRAP_CONTENT的LinearLayout。我正在从服务器接收任意大小的位图以设置为LinearLayout的背景图像。如果接收到的位图大于线性布局的内容,如何在不调整View大小的情况下设置LinearLayout的背景图像?如果背景图像能够保持其宽高比并缩放以匹配屏幕宽度,那就太好了。我尝试将onMeasure覆盖作为临时解决方案,但这最终让我感到痛苦。 最佳答案 在布局中使用imageView怎么样,它的adjustViewBounds也设置为true以保持纵横比?

java - 如何在 Widget 上动态添加的元素上设置 LayoutParams

目前,我正在使用以下方法向我的小部件动态添加元素:RemoteViewsviews=newRemoteViews(context.getPackageName(),R.layout.widget_design);RemoteViewsnewView=newRemoteViews(context.getPackageName(),R.layout.widget_item);views.addView(R.id.view_container,newView);但我如何才能动态地为添加的元素添加边距、权重和其他属性?目前我已经尝试过(使用我从不同站点找到的代码):LinearLayoutit

android - 对于 WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,我需要 android.permission.SYSTEM_ALERT_WINDOW 吗?

我看过:WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY始终与结合使用在AndroidManifest.xml.例如here.考虑这段代码:windowManager=(WindowManager)this.getSystemService(Context.WINDOW_SERVICE);surfaceView=newSurfaceView(this);WindowManager.LayoutParamslayoutParams=newWindowManager.LayoutParams(100,100,WindowManager.Layou

android - 在 Android View 上更改 LayoutParams 没有任何效果,即使在调用 requestLayout 之后也是如此

这种情况我遇到过两三次,我有一些代码是这样的:ViewGroup.LayoutParamsparams=myView.getLayoutParams();params.height=240;myView.requestLayout();或者:ViewGroup.LayoutParamsparams=myView.getLayoutParams();params.height=240;myView.setLayoutParams(params);而且View大小永远不会改变。我尝试了以下方法,但没有成功:调用forceLayout,具有讽刺意味的是,它似乎不如requestLayout强

android - 以编程方式更改 LayoutParams 在 Android 中无效。为什么?

我有一个自定义View,派生自Button,我想在运行时相对于另一个View定位它。因为当我的View被膨胀时我还不知道其他View的位置(因为布局尚未开始),我利用onSizeChanged处理程序来设置我的View相对于其他View的位置。在onSizeChanged中:LayoutParamslp=newLayoutParams(this.getMeasuredWidth(),this.getMeasuredHeight());lp.leftMargin=x;lp.topMargin=y;this.setLayoutParams(lp);forceLayout();然而,这没有任

android - ClassCastException 在设置 ListView Header 时无法将 LinearLayout$LayoutParams 转换为 AbsListView$LayoutParams

首先,我已经想出了解决这个错误的方法,但此时我只是想知道为什么我的修复工作有效。我遇到的情况是,当我尝试执行以下操作(出于这些目的进行了简化)时,我遇到了ClassCastException,cannotconvertLinearLayout$LayoutParamstoAbsListView$LayoutParams:mLayout=(LinearLayout)getLayoutInflater().inflate(R.layout.my_header_layout,getListView(),false);mRootView.addView(mLayout);getListView