プログラムでビューにパディングを追加する 質問する

プログラムでビューにパディングを追加する 質問する

Android v2.2 アプリを開発しています。

がありますFragmentonCreateView(...)フラグメント クラスのコールバックで、以下のようにフラグメントにレイアウトをインフレートします。

@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上記の要素に を設定したいのですが、これをxml ではなくJava<LinearLayout>コードで実行したいと思います。

フラグメント Java クラス コードで設定するpaddingTopにはどうすればいいですか?<LinearLayout>

ベストアンサー1

view.setPadding(0,padding,0,0);

これにより、上部のパディングがpadding-pixels に設定されます。

代わりに設定したい場合はdp変換:

float scale = getResources().getDisplayMetrics().density;
int dpAsPixels = (int) (sizeInDp*scale + 0.5f);

おすすめ記事