Android 具有不同布局的片段选项卡和

Android 具有不同布局的片段选项卡和,android,fragment,screen-orientation,Android,Fragment,Screen Orientation,所以现在android中标签的标准似乎是在FragmentActivity中使用一个tabhost,然后将每个标签作为片段。我在这里遇到的问题是,似乎让同一个碎片活动(平板电脑或横向模式)有侧面碎片,或者让一个碎片与第二个碎片启动另一个碎片活动(如果是小设备或旋转)的整个系统都不起作用,因为你不能让每个选项卡都有碎片活动。那么,我如何实现在选项卡上包含片段的主要优势呢 关于,是的,您可以为每个选项卡设置碎片活动 这是PagerAdapter的一个示例: public class ExampleP

所以现在android中标签的标准似乎是在FragmentActivity中使用一个tabhost,然后将每个标签作为片段。我在这里遇到的问题是,似乎让同一个碎片活动(平板电脑或横向模式)有侧面碎片,或者让一个碎片与第二个碎片启动另一个碎片活动(如果是小设备或旋转)的整个系统都不起作用,因为你不能让每个选项卡都有碎片活动。那么,我如何实现在选项卡上包含片段的主要优势呢


关于,

是的,您可以为每个选项卡设置碎片活动

这是PagerAdapter的一个示例:

public class ExamplePagerAdapter extends FragmentPagerAdapter {

    public ExamplePagerAdapter(FragmentManager fm) {
        super(fm);
        // TODO Auto-generated constructor stub
    }


    @Override
    public int getCount() {
        return 3;
    }

    @Override
    public Fragment getItem(int position) {
        Fragment f = null;
        switch(position){
        case 0:
        {
        f = new ArrayListFragment();
        // set arguments here, if required
        Bundle args = new Bundle();
        f.setArguments(args);
        break;
        }
        case 1:
        {
            f = new PrincipalFragment();
            // set arguments here, if required
            Bundle args = new Bundle();
            f.setArguments(args);
            break;
        }
        case 2:
        {   
            f = new ViewFragment();
            // set arguments here, if required
            Bundle args = new Bundle();
            f.setArguments(args);
            break;
        }   
        default:
          throw new IllegalArgumentException("not this many fragments: " + position);
        }


        return f;


}
}

您可以使用它来调用每个片段的每个活动

public class PrincipalFragment extends Fragment {

    private int mNum;
    private EditText et;



    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mNum = getArguments() != null ? getArguments().getInt("num") : 1;
    }

    /**
     * The Fragment's UI is just a simple text view showing its
     * instance number.
     */
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.scrollview, container, false);



        ImageView i = (ImageView)v.findViewById(R.id.imageView1);
          ImageView i2 = (ImageView)v.findViewById(R.id.imageView2);

          ImageView i4 = (ImageView)v.findViewById(R.id.imageView4);
          ImageView i5 = (ImageView)v.findViewById(R.id.imageView5);


          ImageDownloader.Mode mode = ImageDownloader.Mode.CORRECT;
          ImageDownloader imageDownloader = new ImageDownloader();
          imageDownloader.download(URLnames.URLS[1], i);
          imageDownloader.download(URLnames.URLS[2], i2);
          imageDownloader.download(URLnames.URLS[3], i4);
          imageDownloader.download(URLnames.URLS[4], i5);


        return v;
像上面的例子一样,我调用布局scrollview,所以当您要创建scrollview.xml时,您需要指定详细信息

新建>android xml文件>选择布局类型>下一步>选择特定配置(可以按密度、方向等使用)>完成

现在eclipse将为每个特定配置创建一个不同的文件夹,当您运行不同的屏幕大小或sdkversion时,eclipse将自己管理它

阅读了解更多信息

不知道如何正确地实现tabscroll?访问以下答案:


在片段活动中,您可以创建一个案例来选择屏幕方向或将其放入AndroidManifest.xml中。

是的,您可以为每个选项卡创建片段活动

这是PagerAdapter的一个示例:

public class ExamplePagerAdapter extends FragmentPagerAdapter {

    public ExamplePagerAdapter(FragmentManager fm) {
        super(fm);
        // TODO Auto-generated constructor stub
    }


    @Override
    public int getCount() {
        return 3;
    }

    @Override
    public Fragment getItem(int position) {
        Fragment f = null;
        switch(position){
        case 0:
        {
        f = new ArrayListFragment();
        // set arguments here, if required
        Bundle args = new Bundle();
        f.setArguments(args);
        break;
        }
        case 1:
        {
            f = new PrincipalFragment();
            // set arguments here, if required
            Bundle args = new Bundle();
            f.setArguments(args);
            break;
        }
        case 2:
        {   
            f = new ViewFragment();
            // set arguments here, if required
            Bundle args = new Bundle();
            f.setArguments(args);
            break;
        }   
        default:
          throw new IllegalArgumentException("not this many fragments: " + position);
        }


        return f;


}
}

您可以使用它来调用每个片段的每个活动

public class PrincipalFragment extends Fragment {

    private int mNum;
    private EditText et;



    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mNum = getArguments() != null ? getArguments().getInt("num") : 1;
    }

    /**
     * The Fragment's UI is just a simple text view showing its
     * instance number.
     */
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.scrollview, container, false);



        ImageView i = (ImageView)v.findViewById(R.id.imageView1);
          ImageView i2 = (ImageView)v.findViewById(R.id.imageView2);

          ImageView i4 = (ImageView)v.findViewById(R.id.imageView4);
          ImageView i5 = (ImageView)v.findViewById(R.id.imageView5);


          ImageDownloader.Mode mode = ImageDownloader.Mode.CORRECT;
          ImageDownloader imageDownloader = new ImageDownloader();
          imageDownloader.download(URLnames.URLS[1], i);
          imageDownloader.download(URLnames.URLS[2], i2);
          imageDownloader.download(URLnames.URLS[3], i4);
          imageDownloader.download(URLnames.URLS[4], i5);


        return v;
像上面的例子一样,我调用布局scrollview,所以当您要创建scrollview.xml时,您需要指定详细信息

新建>android xml文件>选择布局类型>下一步>选择特定配置(可以按密度、方向等使用)>完成

现在eclipse将为每个特定配置创建一个不同的文件夹,当您运行不同的屏幕大小或sdkversion时,eclipse将自己管理它

阅读了解更多信息

不知道如何正确地实现tabscroll?访问以下答案:


在fragment活动中,您可以创建一个案例来选择屏幕方向或将其放入AndroidManifest.xml中。

好的,谢谢,我明天需要检查一下……但是activityFragments在哪里,似乎它使用getItem()方法返回片段,但我应该将其放在哪里?它将返回片段,请阅读我的补语并给我一个答案。好的,谢谢,我明天需要检查一下……但是activityFragments在哪里,似乎它使用getItem()方法返回片段,但是我把它放在哪里?它将返回片段,请阅读我的补语并给我一个答案。