所以看起来现在android标签页的标准是在FragmentActivity中使用一个标签主机,然后将每个标签页作为片段。这里的问题是,似乎整个系统对相同的FragmentActivity (平板电脑或横向模式)有侧边碎片,或者让一个碎片用第二个碎片启动另一个FragmentActivity(如果它是一个小型设备或旋转)将不起作用,因为你不能对每个标签页都有FragmentActivities。那么,如何实现在选项卡上显示片段的主要优点呢?
致以敬意,
发布于 2012-05-23 19:25:19
可以,您可以为每个选项卡使用fragmentActivities。
以下是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.xml时,您需要指定细节。
新建> android xml文件>选择布局类型>下一步>选择特定配置(您可以按密度、按方向等使用...)>完成。
现在,eclipse将为每个特定的配置创建一个不同的文件夹,并在您运行不同的屏幕尺寸或sdkversion时自行管理它。
有关更多信息,请阅读Supporting Multiple Screens。
不知道如何正确实现tabscroll?请访问以下答案:Actionbarsherlock + tabs + multi fragments?
在片段活动中,您可以创建一个用例来选择屏幕方向或将其放入AndroidManifest.xml中。
https://stackoverflow.com/questions/10726169
复制