0

我有一个 Activity,它使用 ViewPager 对两个 ListFragments 进行分页——这很好用。

我正在尝试在底部添加某种类型的布局,其中包含 EditText、Button 和 TextView。我希望将其固定在屏幕底部,而不是使用 ListFragment 滚动。

我的观点是这样的:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:background="@color/white">

    <android.support.v4.view.ViewPager
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>

但是因为我在我的 onCreate 中使用了它

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

    mViewPager = new ViewPager(this);
    mViewPager.setId(R.id.pager);

    setContentView(mViewPager);
}

这种观点甚至没有被阅读。问题是我不确定如何使用 ViewPager 并指定布局,允许我在底部添加这样的布局.. 谁能帮帮我?

4

2 回答 2

1

看起来您将内容视图设置为mViewPager,它没有使用布局。

不要创建新的 ViewPager 对象,而是使用您创建的布局 xml。如果它被称为activity_main.xml通过setContentView(R.layout.activity_main);

也许是这样的?

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:background="@color/white">

    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true" />

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_below="@+id/pager"
    android:orientation="horizontal"
>
<Button... your button here />
<TextView ... your text here />
</LinearLayout>

</RelativeLayout >
于 2012-08-05T18:28:26.983 回答
1

想通了,只需照常使用 setConentView,并通过 id 引用 ViewPager .. 不知道为什么我有这个问题..?

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

    setContentView(R.layout.application);

    mViewPager = (ViewPager) findViewById(R.id.pager);

    mTabsAdapter = new OURSVPTabsAdapter(this, mViewPager);

    ...
}
于 2012-08-06T02:57:58.290 回答