Android:如何最大化PreferenceFragment宽度(或摆脱保证金)?

jcl*_*ova 14 android preference

Android设置屏幕截图

FragmentsBC截图

如果您查看Android设置屏幕截图或FragmentsBC屏幕截图,PreferenceFragment中会有保证金.你怎么能摆脱它?

我尝试将PreferenceFragment宽度设置为fill_parent,但没有运气.

jcl*_*ova 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;
}
Run Code Online (Sandbox Code Playgroud)

您可以使用以下命令设置填充:setPadding();


Dev*_*red 10

只是对此的补充; 接受的答案对我不起作用,因为它ListView本身没有任何填充集,它在父视图(通常是a LinearLayout)上设置.所以相反,以下是必要的:

ListView lv = (ListView) findViewById(android.R.id.list);
ViewGroup parent = (ViewGroup)lv.getParent();
parent.setPadding(0, 0, 0, 0);
Run Code Online (Sandbox Code Playgroud)


the*_*ang 5

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

确保在创建视图后调用它(不是onCreate).

请记住,int你传入的是pixels,而不是dp.要转换,dp to pixels请参阅此答案.