您的位置:首页 > 编程语言 > Java开发

Java代码使用LayoutParams改变RelativeLayout 中的控件布局

2015-05-15 09:14 405 查看
</pre><pre name="code" class="html"><RelativeLayout
android:id="@+id/pull_to_refresh_horizontal_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<FrameLayout
android:id="@+id/pull_to_refresh_image_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left|center_vertical" >

<ImageView
android:id="@+id/pull_to_refresh_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:scaleType="centerInside"
android:src="@drawable/homepage_icon_small" />

<ProgressBar
android:id="@+id/pull_to_refresh_progress"
style="?android:attr/progressBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:indeterminate="true"
android:visibility="gone" />
</FrameLayout>
</RelativeLayout>


有时候在设计布局时, 需要动态修改某个控件的位置, 居中, 靠左,等,

比如:我需要用Java代码 动态改变 FrameLayout 在 RelativeLayout 中为居中状态,

代码如下:

RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);  
layoutParams.addRule(RelativeLayout.CENTER_HORIZONTAL, RelativeLayout.TRUE); 
mHeaderImageLayout = (FrameLayout)mInnerLayout.findViewById(R.id.pull_to_refresh_image_layout);
mHeaderImageLayout.setLayoutParams(layoutParams);


mHeaderImageLayout 需要设置Layoutparams, 但需要的类型应该相对的为RelativeLayout.LayoutParams

不能使用FrameLayout .LayoutParams ,否则会出现类型错误.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: