我正在 CalendarView 上开发一个应用程序。
我必须在一个小的线性布局中显示 calendarView。
在小线性布局中显示包含 calendarView 的整个页面时会出现问题。
-> 这需要 10 秒才能显示,& 这是很多时间...
布局中没有其他东西。
这是我的 xml 和 snap ...
任何帮助将是 强烈 appriciated ...
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:orientation="vertical" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="30"
android:paddingLeft="30dp" >
<TextView
android:id="@+id/txtDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="My Calendar"
android:textSize="50sp" />
<View
android:layout_width="fill_parent"
android:layout_height="2dp"
android:layout_alignParentBottom="true"
android:layout_marginBottom="40dp"
android:layout_marginRight="30dp"
android:background="@android:color/black" />
</RelativeLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="70"
android:paddingBottom="30dp"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:paddingTop="30dp" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:orientation="vertical" >
<ListView
android:id="@+id/list_task"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
</ListView>
</LinearLayout>
</RelativeLayout>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:orientation="vertical" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="30" >
<CalendarView
android:id="@+id/cal_small"
android:layout_width="250dp"
android:layout_height="250dp"
android:layout_centerHorizontal="true"
android:background="@android:color/darker_gray"
android:showWeekNumber="false"
android:animateLayoutChanges="false"
android:clipChildren="false"
android:drawingCacheQuality="low"
android:soundEffectsEnabled="false"
android:hapticFeedbackEnabled="false"
/>
<View
android:layout_width="fill_parent"
android:layout_height="2dp"
android:layout_alignParentBottom="true"
android:layout_marginBottom="40dp"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:background="@android:color/black" />
</RelativeLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="70" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginBottom="30dp"
android:layout_marginRight="10dp"
android:layout_marginTop="30dp"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="8" >
<ListView
android:id="@+id/list1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="30dp" >
</ListView>
</LinearLayout>
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</ListView>
</LinearLayout>
</RelativeLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
最佳答案
这看起来很简单,但不小心我已经测试过了,而且效果很好。我希望这也能帮助你...
首先创建单独的 xml 文件,其中仅包含 CalendarView。命名为“cal_view.xml”
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<android.widget.CalendarView
android:layout_width="200dp"
android:layout_height="200dp" />
</LinearLayout>
然后将此 xml 文件包含到您的主 xml 文件中,如下所示。
包括 xml 文件,而不是您的 CalanderView。
<include
android:id="@+id/subCategory"
layout="@layout/cal_view" />
关于android - CalendarView 需要很多时间来显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18721298/