我想在 Android 中创建 年历,例如 ios
。
比如这张照片。 带有年月日。
我用 2 个 ListView 和 1 个 GridView 来做,但是,我在年份项目之间有滞后。
50 年。有 12 个月的文字。
看这个例子..
https://github.com/ik024/CalendarLibrary
对于 YearView(这显示两列,请检查此代码如何设置两列而不是满足您的要求)
在您的 xml 文件中添加以下内容:
<com.github.ik024.calendar_lib.YearView
android:id="@+id/calendar_year_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"/>
在您的 Activity 中实现 YearViewClickListener:
public class MonthViewDemo extends AppCompatActivity implements YearViewClickListeners{
@Override
public void dateClicked(int year, int month, int day) {
Toast.makeText(this, "year: "+year+";\nmonth: "+month+";\nday: "+day, Toast.LENGTH_LONG).show();
//TODO: Perform your actions based on year or month or day clicked
}
}
更多请引用 YearViewDemo.java 文件。
自定义
可以自定义以下属性:
<attr name="currentDayTextColorYV" format="color"/>
<attr name="monthNameTextColorYV" format="color"/>
<attr name="daysOfMonthTextColorYV" format="color"/>
<attr name="daysOfWeekTextColorYV" format="color"/>
<attr name="eventDayBackgroundColorYV" format="color"/>
<attr name="eventDayTextColorYV" format="color"/>
<attr name="calendarBackgroundColorYV" format="color" />
<attr name="monthNameBackgroundColorYV" format="color" />
<attr name="displayYearTextColorYV" format="color" />
<attr name="headerBackgroundColorYV" format="color" />
<attr name="prevButtonBackgroundResourceYV" format="reference" />
<attr name="nextButtonBackgroundResourceYV" format="reference" />
你需要改变三列
转到 calendarlib/layout/yearView.xml
执行此操作...并根据您的响应等进行所有更改。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
androidrientation="horizontal"
android:weightSum="1">
<com.github.ik024.calendar_lib.custom.MonthView
android:id="@+id/mv_year_view_jan"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.33" />
<com.github.ik024.calendar_lib.custom.MonthView
android:id="@+id/mv_year_view_feb"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.33" />
<com.github.ik024.calendar_lib.custom.MonthView
android:id="@+id/mv_year_view_march"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.33" />
</LinearLayout>
或所有其他三个
关于像IOS一样的Android年历,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39095730/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |