2 csh 34 csh_34 于 2013.06.24 11:29 提问

使用代码如何修改 marginTop?

我想使用代码给EditText 修改marginTop 。
我设置了 setLayoutParams 但是获得 ForceClose 和下面的信息:

06-20 14:53:59.715: ERROR/AndroidRuntime(913): java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams
06-20 14:53:59.715: ERROR/AndroidRuntime(913):     at android.widget.RelativeLayout$DependencyGraph.findRoots(RelativeLayout.java:1291)
06-20 14:53:59.715: ERROR/AndroidRuntime(913):     at android.widget.RelativeLayout$DependencyGraph.getSortedViews(RelativeLayout.java:1238)
06-20 14:53:59.715: ERROR/AndroidRuntime(913):     at android.widget.RelativeLayout.sortChildren(RelativeLayout.java:279)
06-20 14:53:59.715: ERROR/AndroidRuntime(913):     at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:299)
06-20 14:53:59.715: ERROR/AndroidRuntime(913):     at android.view.View.measure(View.java:7964)

谁能解释一下然后再该怎么做?

giveuser = (EditText) findViewById(R.id.txt_username);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
        lp.setMargins(5,5,5,5);
        giveuser.setLayoutParams(lp);

xml :

<EditText android:id="@+id/txt_username"
        android:layout_height="wrap_content" android:layout_width="350px"
        android:layout_centerHorizontal="true" android:layout_below="@+id/loginsubtitle"
        android:layout_marginTop="180dip" android:singleLine="true"
        android:hint="Identifiant" />

1个回答

cj6585256
cj6585256   2013.06.24 12:41

LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT这个错了
应该是ViewGroup.LayoutParams.WRAP_CONTENT

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Android FrameLayout的:layout_marginTop属性失效的问题
在Android3.0以下的平台上,FrameLayout内部的LinearLayout控件设置android:layout_marginTop属性是没有效果的,而
databinding中的TextView设置layout_marginTop
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="@{(int)@dimen/text_topMargin}" android:back
javascript操作div中的marginTop
在javascript控制div之间的外边距时,代码写到document.getElementById("").style.marginTop=20;这个在IE浏览器中可以,但是在chrome中就不行,这个问题是应该document.getElementById("").style.marginTop="20px";各个浏览器中不同的问题要求不等对待,这些天学了div+css在设置
jquery 控制 table的margin-top属性
$('#mytable').css("margin-top","10px");
java代码控制layout_Margin参数
声明本文属于个人所有,转载注明出处:http://blog.csdn.net/hnulwt/article/details/43671687问题描述今天在做android的界面,不过需要用java代码来动态生成一个界面,写起来不算难,但是在控制每行与上行的间隔的时候遇到了问题。在layout xml文件中,通过书写android:layout_marginLeft android:layout_ma
MarginLayoutParams--一个可以在代码中直接设置margin的方法
关于MarginLayoutParams 创建及使用MarginLayoutParmas 通用的设置margin属性的方法
Android 动态设置margin
android的view中有setPadding,但是没有直接的setMargin方法。如果要在代码中设置该怎么做呢? 可以通过设置view里面的 LayoutParams 设置,而这个LayoutParams是根据该view在不同的GroupView而不同的。 布局文件如下: <RelativeLayout xmlns:android="http://schemas.a
android在代码中设置margin属性
一般常用的是在布局文件中设置margin属性,如:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" androi
关于Android设置控件margin无效的解决办法
一、需求右上角跳过按钮距离状态栏50px以及距离右边50px,相对位置如图。二、获取状态栏高度图片中黑色部分需要顶上状态栏,那么设置Button的margin值时,就应该把状态栏的高度考虑进去,这简单int resourceId = context.getResources().getIdentifier("status_bar_height",
如何在java代码中设置margin属性
Android如何在java代码中设置margin,也就是组件与组件之间的间距。 代码中设置:   LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); params