ViewPager на Xamarin.Android обнимает весь экран
Я не могу выяснить, почему viewpagerindicator не отображается на экране, когда он размещен под viewpager на макете активности.
В файле макета упражнения у меня есть ViewPager, за которым следует ViewPagerIndicator. ViewPagerIndicator не отображается. Если изменить порядок элементов, сначала viewpagerindicator, а затем viewpager, он работает.
План действий имеет:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<android.support.v4.view.ViewPager
android:id="@+id/menuPager"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<dk.ostebaronen.droid.viewpagerindicator.CirclePageIndicator
android:id="@+id/indicator"
android:padding="10dip"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:background="#FFCCCCCC"
app:radius="5dp"
app:fillColor="#FF888888"
app:pageColor="#88FF0000"
app:strokeColor="#FF000000"
app:strokeWidth="2dp" />
</LinearLayout>
Файл макета фрагмента, который есть у viewpager:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:layout_width="160dp"
android:layout_height="160dp"
android:id="@+id/imgMenu"
android:scaleType="fitXY"
android:layout_gravity="center_horizontal" />
<TextView
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/txtMenuName"
android:gravity="center"
android:layout_margin="10dp" />
<TextView
android:text="Small Text"
android:textAppearance="?android:attr/textAppearanceSmall"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/txtMenuDescription"
android:gravity="center"
android:layout_margin="10dp" />
<TextView
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/txtMenuPrice"
android:gravity="center"
android:layout_margin="10dp"
android:textColor="#ff07df1c"
android:layout_marginLeft="15dp" />
</LinearLayout>
Целевая версия, которую я использую - это API Level 15.
Почему ViewPagerIndicator не отображается, когда находится под viewpager?
1 ответ
Я решил это, изменив макет деятельности на:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<android.support.v4.view.ViewPager
android:id="@+id/menuPager"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" />
<dk.ostebaronen.droid.viewpagerindicator.CirclePageIndicator
android:id="@+id/indicator"
android:padding="10dip"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:background="#FFCCCCCC"
app:radius="5dp"
app:fillColor="#FF888888"
app:pageColor="#88FF0000"
app:strokeColor="#FF000000"
app:strokeWidth="2dp" />
</LinearLayout>
Viewpager имеет рост 0dp и вес 1.