Android 水平滚动视图中充气布局的多个视图

Android 水平滚动视图中充气布局的多个视图,android,android-linearlayout,android-scrollview,Android,Android Linearlayout,Android Scrollview,如果我没能把我的问题恰当地表达出来,我深表歉意,但我已经有一段时间没有为Android开发了 我想做的是在屏幕顶部有一些选项卡,按下这些选项卡时会显示滚动视图。这不是我想使用ViewPager的东西,因为滑动操作需要与选项卡分开 每个ScrollView都应该有一个子元素,它是一个水平的线性布局方向,应该占据ScrollView的高度,但宽度应该包裹包含的内容。内容的宽度应与屏幕的宽度相匹配 在选项卡的片段活动中膨胀的内容视图应该并排放置,每个视图都占据了给定给选项卡内容的整个空间 下面是我试图

如果我没能把我的问题恰当地表达出来,我深表歉意,但我已经有一段时间没有为Android开发了

我想做的是在屏幕顶部有一些选项卡,按下这些选项卡时会显示滚动视图。这不是我想使用ViewPager的东西,因为滑动操作需要与选项卡分开

每个ScrollView都应该有一个子元素,它是一个水平的线性布局方向,应该占据ScrollView的高度,但宽度应该包裹包含的内容。内容的宽度应与屏幕的宽度相匹配

在选项卡的片段活动中膨胀的内容视图应该并排放置,每个视图都占据了给定给选项卡内容的整个空间

下面是我试图描述的内容以及创建的不起作用的布局的代码片段的示例

片段布局-tab_Fragment.xml

膨胀视图-article_layout.xml

片段活性


我添加了一个名为scrollmain的布局文件,其中只包含一个LinearLayout,我测试了以下代码,它运行良好:

 //View view = inflater.inflate(R.layout.tab_fragment, container, false);
    LinearLayout layout = (LinearLayout) findViewById(R.id.scrollmain);
    LayoutInflater inflater = getLayoutInflater();
    View view = inflater.inflate(R.layout.tab_fragment, null, false);
    layout.addView(view)

    LinearLayout pageLinearLayout = (LinearLayout)view.findViewById(R.id.pageLinearLayout);

    for(int i = 0; i < 3; i++){
        View pageView = inflater.inflate(R.layout.article_layout, null);
        if(i % 2 != 0){
            pageView.setBackgroundColor(Color.parseColor("#00ffff"));
        }
        pageLinearLayout.addView(pageView);
    }

祝你好运。

你说它有效是什么意思?我没有一个名为scrollmain的ID集,所以这对我没有用处。不,我测试代码并添加这个布局文件,它只有一个linearlayout。如果您有一个“container”实例,我认为您可以更改代码以进行尝试。其次,你可以设置一个真实的背景图像,而不仅仅是颜色
<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#ff0000">
</ImageView>
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.tab_fragment, container, false);

LinearLayout pageLinearLayout = (LinearLayout)view.findViewById(R.id.pageLinearLayout);

for(int i = 0; i < 3; i++){
    View pageView = inflater.inflate(R.layout.article_layout, null);
    if(i % 2 != 0){
        pageView.setBackgroundColor(Color.parseColor("#00ffff"));
    }
    pageLinearLayout.addView(pageView);
}
 //View view = inflater.inflate(R.layout.tab_fragment, container, false);
    LinearLayout layout = (LinearLayout) findViewById(R.id.scrollmain);
    LayoutInflater inflater = getLayoutInflater();
    View view = inflater.inflate(R.layout.tab_fragment, null, false);
    layout.addView(view)

    LinearLayout pageLinearLayout = (LinearLayout)view.findViewById(R.id.pageLinearLayout);

    for(int i = 0; i < 3; i++){
        View pageView = inflater.inflate(R.layout.article_layout, null);
        if(i % 2 != 0){
            pageView.setBackgroundColor(Color.parseColor("#00ffff"));
        }
        pageLinearLayout.addView(pageView);
    }