如何加载从XML文件中code布局布局、加载、文件、XML

由网友(楠木)分享简介:我使用 ViewPageIndicator 和我有在code。使用XML布局的一个问题。通常我使用的setContentView(R.layout.activity_main)。当然,我可以创造code布局,但我preFER使用XML文件。 公共最后一类FragmentOne扩展片段{    私有静态最后弦乐KEY_...

我使用 ViewPageIndicator 和我有在code。使用XML布局的一个问题。通常我使用的setContentView(R.layout.activity_main)。当然,我可以创造code布局,但我preFER使用XML文件。

 公共最后一类FragmentOne扩展片段{    私有静态最后弦乐KEY_CONTENT =FragmentOne;    @覆盖    公共无效的onCreate(捆绑savedInstanceState){        super.onCreate(savedInstanceState);        如果((savedInstanceState = NULL)及!&安培; savedInstanceState.containsKey(KEY_CONTENT)){            mContent = savedInstanceState.getString(KEY_CONTENT);        }    }    @覆盖    公共查看onCreateView(LayoutInflater充气器,容器的ViewGroup,捆绑savedInstanceState){        TextView的文本=新的TextView(getActivity());        text.setGravity(Gravity.CENTER);        text.setText(一些文字);        text.setTextSize(20 * getResources()getDisplayMetrics()密度。);        text.setPadding(20,20,20,20);        的LinearLayout布局=新的LinearLayout(getActivity());        layout.setLayoutParams(新的LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));        layout.setGravity(Gravity.CENTER);        layout.addView(文本);        返回布局;    }} 

解决方案

onCreateView()您可以使用 LayoutInflater 传递进来膨胀布局的第一个参数。

Android编码,在设置第二活动布局时,setContentView无法读取.xml文件

您code会是这个样子:

  @覆盖公共查看onCreateView(LayoutInflater充气器,容器的ViewGroup,捆绑savedInstanceState){    返回inflater.inflate(R.layout.my_fragment_layout,集装箱,FALSE);} 

I'm using ViewPageIndicator and I have a problem with using XML layout in code. Usually I'm using setContentView(R.layout.activity_main). Of course I can create layout in code but I prefer to use XML files.

public final class FragmentOne extends Fragment {
    private static final String KEY_CONTENT = "FragmentOne";

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        if ((savedInstanceState != null) && savedInstanceState.containsKey(KEY_CONTENT)) {
            mContent = savedInstanceState.getString(KEY_CONTENT);
        }
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        TextView text = new TextView(getActivity());
        text.setGravity(Gravity.CENTER);
        text.setText("some text");
        text.setTextSize(20 * getResources().getDisplayMetrics().density);
        text.setPadding(20, 20, 20, 20);

        LinearLayout layout = new LinearLayout(getActivity());
        layout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
        layout.setGravity(Gravity.CENTER);
        layout.addView(text);

        return layout;
    }
}

解决方案

In onCreateView() you can use the LayoutInflater passed in as the first argument to inflate the layout.

Your code would look something like this:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    return inflater.inflate(R.layout.my_fragment_layout, container, false);
}

阅读全文

相关推荐

最新文章