15

Android設定のスクリーンショット

FragmentsBCスクリーンショット

Android設定のスクリーンショットまたはFragmentsBCスクリーンショットのいずれかを見ると、PreferenceFragmentにマージンがあります。どうすればそれを取り除くことができますか?

PreferenceFragmentの幅をfill_parentにしようとしましたが、うまくいきませんでした。

4

8 に答える 8

34

最後に、これに対する解決策を見つけました。

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View v = super.onCreateView(inflater, container, savedInstanceState);
    if(v != null) {
        ListView lv = (ListView) v.findViewById(android.R.id.list);
        lv.setPadding(10, 10, 10, 10);
    }
    return v;
}

以下を使用してパディングを設定できます。

于 2012-02-22T15:09:53.217 に答える
10

これに追加するだけです。ListViewそれ自体にはパディングが設定されておらず、親ビュー(通常は a )に設定されているため、受け入れられた回答は私にとってはうまくいきませんでしたLinearLayout。代わりに、以下が必要でした。

ListView lv = (ListView) findViewById(android.R.id.list);
ViewGroup parent = (ViewGroup)lv.getParent();
parent.setPadding(0, 0, 0, 0);
于 2012-07-09T17:30:06.500 に答える
5

getListView().setPadding(left, top, right, bottom)

Make sure to call it after your view has been created (not onCreate).

Keep in mind that the int you pass in is in pixels, not dp. To convert from dp to pixels see this answer.

于 2014-05-08T21:13:58.333 に答える
0

別のオプションは、独自のアダプターを設定することです。そうすれば、柔軟性が高まり、変更に対してより堅牢になります。

カスタムヘッダーアダプターに関する他の回答を参照してください

于 2016-08-03T15:29:48.877 に答える