当前位置: 首页 > 知识库问答 >
问题:

以编程方式更改线性布局上页边距android

呼延骏俊
2023-03-14

我在一个框架布局中有两个线性布局。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="left"
    android:orientation="vertical">

     <FrameLayout 
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@drawable/image12">
        <LinearLayout 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">   

                <LinearLayout
                    android:id="@+id/layoutbtnlinear_aboutme"
                    android:layout_width="fill_parent"
                    android:layout_height="55dp"
                    android:gravity="bottom"
                    android:layout_marginTop="10dp"
                     android:background="#b2b2b2" 
                    android:orientation="horizontal" >

                    <ImageView
                        android:id="@+id/imgShare_layout_aboutme"
                        android:layout_width="wrap_content"
                        android:layout_height="55dp"
                        android:layout_gravity="right|center|end"
                        android:layout_weight="1.63"
                        android:src="@drawable/ic_share" />

                    <TextView
                        android:id="@+id/txtTitle_layout_aboutme"
                        android:layout_width="wrap_content"
                        android:layout_height="55dp"
                        android:layout_gravity="left"
                        android:layout_weight="0.3"
                        android:fontFamily="Times New Roman"
                        android:text="About Me"
                        android:textColor="@android:color/black"
                        android:textSize="35sp"
                        android:textStyle="italic" />
                </LinearLayout>

            <LinearLayout
                android:id="@+id/content"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical">

                <ImageButton
                       android:id="@+id/btnSlidingDrawerHandler_layout_aboutme"
                       android:layout_width="wrap_content"
                       android:layout_height="wrap_content"
                       android:layout_gravity="center"
                       android:background="@drawable/ic_1_navigation_collapse" />


               <ListView
                    android:id="@+id/listView_layout_aboutme"
                    android:layout_width="fill_parent"
                    android:layout_height="match_parent"
                    android:footerDividersEnabled="true"
                    android:dividerHeight="4px"
                    android:isScrollContainer="true" 
                    android:scrollbarAlwaysDrawVerticalTrack="true" 
                    android:scrollbarStyle="outsideInset" 
                    android:scrollbars="vertical">
                </ListView>
            </LinearLayout>
        </LinearLayout>         
     </FrameLayout>  

</LinearLayout>

这里,我将id为layoutbtnlinear_aboutme的线性布局的top margin设置为10dp,但在代码中,我想将这个10dp更改为50dp,在某些条件下,如何以编程方式更改这个top margine?

共有1个答案

夹谷岳
2023-03-14
   layout = (LinearLayout) findViewById(R.id.layoutbtnlinear_aboutme);
   LinearLayout.LayoutParams params = (LinearLayout.LayoutParams)layout.getLayoutParams();
   params.setMargins(0, 50, 0, 0); 
   layout.setLayoutParams(params);
 类似资料:
  • 知道如何以编程方式改变约束布局的边距吗? 谢谢

  • 我用一些按钮以编程方式创建AlertDialog的LinearLayout。 我想这样做: 但对于这样的代码: 如何以编程方式设置按钮的样式(使用按钮栏)?

  • 问题内容: 我正在尝试使用Java(不是XML)来创建一个LinearLayout,其线性按钮具有填满整个屏幕并具有边距的功能。这是不带边距的代码: 这样就可以了,但是到底如何给按钮留出一定的边距,以便在它们之间留出空间?我尝试使用,但是没有weight成员,所以不好。如果你lp在其构造函数中传递它,它也不起作用。 这不可能吗?因为它看起来确实可靠,而且它不是你只能使用XML进行的第一个Andro

  • 我试图以编程方式创建一个LinearLayout,但由于某种原因,它没有显示,我在Logcat或Run终端中没有错误。 以下是我的Java代码: 和我的XML: 我试图实现的是有3线性布局创建根据数组长度,因为我将通过一些TextViews给他们以后 我试图遵循我找到的答案,用多个视图以编程/动态方式创建LinearLayout,但仍然看不到在模拟器上创建的LinearLayout。 下面是它的显

  • 我使用下面的hack以编程方式更改homeAsupIndicator。 但这在大多数新手机(HTC One、Galaxy S3等)上都不起作用。是否有一种方法可以跨设备统一更改。我只需要在主屏幕上更改它。其他屏幕将具有默认屏幕。因此无法使用样式。xml

  • 然而,当我运行该应用程序时,我没有看到任何变化。更改背景本身: 将整个更改为-不是我想要的! 如何以编程方式更改、或的下划线颜色?我使用的是支持库的25.0.1版本。