我正在开发Android v2.2应用程序。

我有一个碎片。在我的片段类的onCreateView(…)回调中,我将一个布局膨胀到片段,如下所示:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.login, null);
        
    return view;
}

上面的膨胀布局文件是(login.xml):

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

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Username" />

    
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Username" />

</LinearLayout>

我想设置一个paddingTop到上面的<LinearLayout>元素,我想在Java代码中做,而不是在xml中做。

如何设置paddingTop <LinearLayout>在我的片段Java类代码??


当前回答

步骤1:首先,将填充值作为一个整数。

int padding = getResources().getDimensionPixelOffset(r . dimension .padding);

或者int padding = 16;[使用任何方法]

步骤2:然后为布局分配填充值。

布局。setPadding(padding, padding, padding, padding);

布局。setPadding(padding_left, padding_top, padding_right, padding_bottom);

所有侧面不同的填充可以分配。布局。setPadding(16,10,8,12);

为了删除填充(无填充),设置填充值为0,

layout.setPadding(0, 0, 0, 0);

其他回答

写下面的代码来设置填充,它可能会帮助你。

TextView ApplyPaddingTextView = (TextView)findViewById(R.id.textView1);
final LayoutParams layoutparams = (RelativeLayout.LayoutParams) ApplyPaddingTextView.getLayoutParams();

layoutparams.setPadding(50,50,50,50);

ApplyPaddingTextView.setLayoutParams(layoutparams);

使用LinearLayout。LayoutParams或RelativeLayout。根据子视图的父布局的LayoutParams

步骤1:首先,将填充值作为一个整数。

int padding = getResources().getDimensionPixelOffset(r . dimension .padding);

或者int padding = 16;[使用任何方法]

步骤2:然后为布局分配填充值。

布局。setPadding(padding, padding, padding, padding);

布局。setPadding(padding_left, padding_top, padding_right, padding_bottom);

所有侧面不同的填充可以分配。布局。setPadding(16,10,8,12);

为了删除填充(无填充),设置填充值为0,

layout.setPadding(0, 0, 0, 0);

当以编程方式填充时,通过将像素转换为Dp转换为密度相关的值。

使用下面的方法动态设置填充

setPadding(int left, int top, int right, int bottom)

例子:

view.setPadding(2,2,2,2);

如果将填充存储在资源文件中,则可以简单地调用

int padding = getResources().getDimensionPixelOffset(R.dimen.padding);

它会帮你转换。