0 0

代码设置RelativeLayout宽度时报错?0

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearLayout_parent"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center_horizontal"
    android:orientation="vertical" >

    <RelativeLayout
        android:id="@+id/relativeLayout1"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    。。。。。

代码中需要对RelativeLayout的宽度进行设定:
RelativeLayout relativeLayout = (RelativeLayout)this.findViewById(R.id.relativeLayout1);
RelativeLayout.LayoutParams param = new RelativeLayout.LayoutParams(cell_Width, LayoutParams.MATCH_PARENT);
param.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, 1);
relativeLayout.setLayoutParams(param);

但是报错:
04-01 23:49:13.572: E/AndroidRuntime(1246): java.lang.ClassCastException: android.widget.RelativeLayout$LayoutParams cannot be cast to android.widget.LinearLayout$LayoutParams
04-01 23:49:13.572: E/AndroidRuntime(1246): 	at android.widget.LinearLayout.measureVertical(LinearLayout.java:587)
04-01 23:49:13.572: E/AndroidRuntime(1246): 	at android.widget.LinearLayout.onMeasure(LinearLayout.java:519)
04-01 23:49:13.572: E/AndroidRuntime(1246): 	at android.view.View.measure(View.java:10828)
04-01 23:49:13.572: E/AndroidRuntime(1246): 	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4351)
04-01 23:49:13.572: E/AndroidRuntime(1246): 	at android.widget.FrameLayout.onMeasure(FrameLayout.java:267)
04-01 23:49:13.572: E/AndroidRuntime(1246): 	at android.view.View.measure(View.java:10828)
04-01 23:49:13.572: E/AndroidRuntime(1246): 	at android.widget.LinearLayout.measureVertical(LinearLayout.java:764)
04-01 23:49:13.572: E/AndroidRuntime(1246): 	at android.widget.LinearLayout.onMeasure(LinearLayout.java:519)
04-01 23:49:13.572: E/AndroidRuntime(1246): 	at android.view.View.measure(View.java:10828)
04-01 23:49:13.572: E/AndroidRuntime(1246): 	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4351)
04-01 23:49:13.572: E/AndroidRuntime(1246): 	at android.widget.FrameLayout.onMeasure(FrameLayout.java:267)
04-01 23:49:13.572: E/AndroidRuntime(1246): 	at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:1889)
04-01 23:49:13.572: E/AndroidRuntime(1246): 	at android.view.View.measure(View.java:10828)
04-01 23:49:13.572: E/AndroidRuntime(1246): 	at android.view.ViewRoot.performTraversals(ViewRoot.java:938)
04-01 23:49:13.572: E/AndroidRuntime(1246): 	at android.view.ViewRoot.handleMessage(ViewRoot.java:2040)
04-01 23:49:13.572: E/AndroidRuntime(1246): 	at android.os.Handler.dispatchMessage(Handler.java:99)
04-01 23:49:13.572: E/AndroidRuntime(1246): 	at android.os.Looper.loop(Looper.java:132)
04-01 23:49:13.572: E/AndroidRuntime(1246): 	at android.app.ActivityThread.main(ActivityThread.java:4123)
04-01 23:49:13.572: E/AndroidRuntime(1246): 	at java.lang.reflect.Method.invokeNative(Native Method)
04-01 23:49:13.572: E/AndroidRuntime(1246): 	at java.lang.reflect.Method.invoke(Method.java:491)
04-01 23:49:13.572: E/AndroidRuntime(1246): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
04-01 23:49:13.572: E/AndroidRuntime(1246): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
04-01 23:49:13.572: E/AndroidRuntime(1246): 	at dalvik.system.NativeStart.main(Native Method)

查了些资料,比如:http://blog.csdn.net/id19870510/article/details/6398049
说是需要设置父layout,但是试了后依然报错,请问到底如何更改?
谢谢
2013年4月02日 00:01

1个答案 按时间排序 按投票排序

0 0

采纳的答案

relativeLayout 是LinearLayout的子控件~它的layoutparam应该是LinearLayout给他的所以应该是LinearLayout.LayoutParam ~~~~不知道你理解了没~~~如果relativeLayout 有子控件的话~那它的子控件用的的就是relativeLayout 给他们的RinearLayout.LayoutParam

2013年4月09日 00:24

相关推荐

    界面布局之相对布局RelativeLayout(代码)

    在代码示例中,我们首先创建了一个`RelativeLayout`对象,并设置了其大小。然后,我们分别创建了两个按钮,为它们设置相应的参数,这些参数指定了它们在相对布局中的位置。最后,将这两个按钮添加到相对布局中,并...

    Android编程动态修改RelativeLayout宽高的方法

    最常见的错误做法是直接创建一个新的`RelativeLayout.LayoutParams`实例并赋值给布局,如以下代码所示: ```java RelativeLayout ss = (RelativeLayout) findViewById(R.id.myRelativeLayout); ss.setLayoutParams...

    ListView 表格动态设置控件宽度 代码法

    本教程将详细介绍如何通过代码来实现ListView表格动态设置控件宽度。 首先,我们需要理解ListView的基本结构。ListView是由多个ListView项(ListView Item)组成的,每个项通常对应一个View或者一个自定义的...

    自定义RelativeLayout圆角图片背景

    在上面的代码中,我们使用了`ConstraintLayout`作为容器,但也可以选择其他视图。`app:customBackground`和`app:cornerRadius`是自定义属性,用于设置背景图片和圆角半径。`your_image`应替换为实际图片资源的引用。...

    Android最简单的代码中动态设置图片的大小(自动缩放),位置

    3. **设置高度和宽度**:通过`RelativeLayout.LayoutParams`对象设置`ImageView`的高度和宽度。这里设置的高度为600像素,宽度为800像素。 4. **应用参数**:最后,通过调用`setLayoutParams()`方法将设置好的参数...

    Android RelativeLayout 的应用

    例如,如果你想让一个按钮始终位于另一个按钮的正下方,并且两者的宽度相等,你可以同时设置`android:layout_below`和`android:layout_width`为`match_parent`。 ##### 基于父容器的定位 1. **`android:layout_...

    RelativeLayout布局入门实例

    RelativeLayout的这种特性使得它可以创建复杂的、动态响应的用户界面,而无需过多的代码。 现在,让我们看看"MyInfo2"实例。在这个例子中,可能是一个个人信息编辑界面,可能会包含头像、用户名、电子邮件和电话...

    ListView 表格动态设置控件宽度 XML法

    本篇文章将重点讲解如何通过XML布局文件来实现ListView表格控件宽度的动态设置。 首先,我们需要理解ListView的工作原理。ListView通过Adapter来填充数据,并且每个条目(Item)都是一个单独的View或ViewGroup,...

    Android_Layout_之_RelativeLayout_代码实现相对布局

    Android 中的 RelativeLayout 代码实现相对布局 Android 中的 RelativeLayout 是一种基于相对位置的布局方式,它可以让开发者更方便地实现复杂的界面布局。相比于 AbsoluteLayout,RelativeLayout 提供了更加灵活和...

    RelativeLayout

    Android 开发入门 对 RelativeLayout的基本属性的讲解和用法 ,更容易的帮你理解和使用

    相对布局之RelativeLayout

    在Android应用开发中,`RelativeLayout`是Android布局体系中非常重要的一种布局方式,它以其灵活性和强大的定位能力受到开发者们的喜爱,特别是在游戏开发、相机应用以及增强现实(AR)项目中,`RelativeLayout`更是...

    RelativeLayout相对布局属性

    ### RelativeLayout相对布局属性详解 在Android开发中,`RelativeLayout`是一种非常常见的布局方式,它允许开发者根据父容器或兄弟视图来定义子视图的位置。本文将详细介绍`RelativeLayout`的各种属性及其使用方法...

    动态控制RelativeLayout的组件

    在Android开发中,`RelativeLayout`是一种常用的布局管理器,它允许开发者通过相对位置来安排UI组件,而不是基于绝对坐标。这种布局方式对于创建复杂且适应性强的用户界面非常有用。本篇文章将深入探讨如何在运行时...

    android_relativeLayout_demo

    项目中的`RelativeLayoutDemo`可能包含了一个XML布局文件,展示了如何使用`RelativeLayout`的属性来设置视图的位置。例如,可能有一个TextView在顶部,一个Button在底部,而一个ImageView居中,并且Button位于...

    android LinearLayout与RelativeLayout混用

    在"3.10"这个文件中,可能包含了关于LinearLayout与RelativeLayout混用的示例代码或教程,建议进一步查看以加深理解。在学习和实践过程中,不断尝试和优化布局设计,将有助于提升Android开发技能。

    RelativeLayout点击效果

    为了在代码中应用这些效果,你需要在`RelativeLayout`的XML布局文件中设置背景资源,例如: ```xml &lt;RelativeLayout android:id="@+id/relative_layout" android:layout_width="match_parent" android:layout_...

    Android-DragView可拖拽的view继承自RelativeLayout

    "Android-DragView可拖拽的view继承自RelativeLayout"是一个专为实现拖拽功能而设计的自定义视图类,它扩展了Android原生的RelativeLayout,使得用户可以自由地在屏幕上拖动视图元素。这一特性在许多应用中都有广泛...

    Android应用源码之12.RelativeLayout.zip

    这个"Android应用源码之12.RelativeLayout.zip"压缩包很可能是为了教学或研究目的,提供了一个使用RelativeLayout布局的实例代码。让我们深入探讨一下RelativeLayout及其在Android应用中的使用。 RelativeLayout是...

    RelativeLayout demo

    RelativeLayout 上 下 中 左 右布局 demo

    Android 相对布局 RelativeLayout 属性

    - **`android:layout_centerInParent`**:当设置为true时,视图将同时在水平和垂直方向上居中于其父容器内,提供了一个简洁的方式来居中任何元素。 ### 4. 边距调整 - **`android:layout_marginTop`**、**`android...

Global site tag (gtag.js) - Google Analytics