1. ホーム
  2. アンドロイド

[解決済み】プログラムによってビューにパディングを追加する

2022-04-02 17:48:10

質問

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

私は Fragment . その中で 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 のコードで行います。

を設定する方法 paddingTop から <LinearLayout> 私のフラグメントJavaクラスのコードで?

どのように解決するのですか?

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

これにより、上部のパディングが padding -ピクセルです。

で設定したい場合は dp を代わりに行うことができます。 変換 :

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