6

我有一个线性布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_menu"
android:layout_width="fill_parent"
android:layout_height="70px"
android:layout_alignParentBottom="true"
android:background="@drawable/footer_bar"
android:gravity="center" >
</LinearLayout>

当我设定条件

if (constant.getscreenresolution() >= 800) {
    //i want to make it height * 2
}

那么如何设置layout params呢?

4

5 回答 5

12

对于填充:

LinearLayout mLayout = (LinearLayout)findViewById(R.id.layout_menu);
mLayout.setPadding(left, top, right, bottom);
于 2012-05-28T03:51:11.207 回答
6
LinearLayout mLayout = (LinearLayout)v.findViewById(R.id.ll_winfowindo);
int left= (int) activity.getResources().getDimension(R.dimen._18sdp);
int top=(int) activity.getResources().getDimension(R.dimen._22sdp);
int right=(int) activity.getResources().getDimension(R.dimen._18sdp);
int bottom=(int) activity.getResources().getDimension(R.dimen._34sdp);
mLayout.setPadding(left, top, right, bottom);
于 2016-08-01T05:37:24.257 回答
5

希望这对你有帮助

LinearLayout.LayoutParams layout_param= new LinearLayout.LayoutParams(
                LinearLayout.LayoutParams.fill_parent,
                height * 2);
mLayout = (LinearLayout) findViewById(R.id.layout_menu);
mLayout.setLayoutParams(layout_param);
于 2012-05-28T03:48:47.287 回答
0

你不应该这样做。首先,您使用像素 (px) 而不是与设备无关的像素 (dp) 这样做会创建仅适用于特定设备屏幕配置的 UI。您需要了解 Android 如何解决屏幕密度的变化,以便您的应用与屏幕密度无关。从这里开始:

http://developer.android.com/guide/practices/screens_support.html

于 2012-05-28T03:52:43.207 回答
0

向线性布局添加边距:-

LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
     LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);

layoutParams.setMargins(30, 20, 30, 0);
于 2016-08-01T05:41:40.370 回答