3

XMLを膨らませることができる新しいレイアウトを作成する方法はありますか?

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle icicle){

            one_third = (RelativeLayout)getActivity().findViewById(R.id.list3);

            DisplayMetrics dm = new DisplayMetrics();
            getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm);
            String width = "" + dm.widthPixels;

            int WIDTH;
            int SIZE;

            SIZE = Integer.parseInt(width.toString());

            WIDTH = (SIZE / 3); 

            one_third.setMinimumWidth(WIDTH);

    View homeselect = inflater.inflate(R.layout.listelements, container, false);
    setListAdapter(new ArrayAdapter<String>(getActivity(),
                R.layout.start_row, R.id.label, views));
    return homeselect;

}

このビットのコードをフラグメントに取り込もうとしています。ここで、新しいレイアウトを作成します。値WIDHTのを指定して、xmlでそれを埋めたいと思います。

4

1 に答える 1

1

この質問は実際にはフラグメントに関するものではありません。ここでのAPIは、フラグメントが管理するビュー階層の一部を提供しているだけです。すべてのレイアウトは、ビュー階層に基づいています。レイアウトを行うスペースさえわからないため、ここではレイアウトを*行いません*

正解は、ビュー階層を使用しているときはいつでも同じです。onMeasure()およびonLayout()を介して通常のレイアウトフローに参加します。標準のレイアウトマネージャーが希望どおりに機能しない場合は、取得したサイズに基づいて目的のレイアウトを実行する、ViewGroupの独自の特別なサブクラスを実装できます。

于 2011-04-22T02:09:38.790 に答える