首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >片段选项卡和具有不同布局

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

Stack Overflow用户
提问于 2012-05-24 02:57:19
回答 1查看 1.7K关注 0票数 2

所以看起来现在android标签页的标准是在FragmentActivity中使用一个标签主机,然后将每个标签页作为片段。这里的问题是,似乎整个系统对相同的FragmentActivity (平板电脑或横向模式)有侧边碎片,或者让一个碎片用第二个碎片启动另一个FragmentActivity(如果它是一个小型设备或旋转)将不起作用,因为你不能对每个标签页都有FragmentActivities。那么,如何实现在选项卡上显示片段的主要优点呢?

致以敬意,

EN

回答 1

Stack Overflow用户

发布于 2012-05-24 03:25:19

可以,您可以为每个选项卡使用fragmentActivities。

以下是PagerAdapter的示例:

代码语言:javascript
代码运行次数:0
运行
复制
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;


}

}

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

代码语言:javascript
代码运行次数:0
运行
复制
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.xml时,您需要指定细节。

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

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

有关更多信息,请阅读Supporting Multiple Screens

不知道如何正确实现tabscroll?请访问以下答案:Actionbarsherlock + tabs + multi fragments?

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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10726169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档