android开发使用 Android Layouts 和 ListViews
1. [图片] listitems.png
2. [代码][XML]代码
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<TextView
android:id="@android:id/empty"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="@string/empty_events"
android:gravity="center"
android:textAppearance="?android:attr/textAppearanceMedium" />
</FrameLayout>
3. [代码][XML]代码
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/list_item_event"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
style="@style/ListItem">
<org.onehippo.gogreen.android.ui.view.SimpleCalendarView
android:id="@+id/calendar_today"
android:layout_height="fill_parent"
android:layout_width="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:gravity="center_horizontal|top"
/>
<TextView
android:gravity="left"
android:id="@+id/event_title"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_alignWithParentIfMissing="true"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/calendar_today"
style="@style/EventTitle" />
</RelativeLayout>
4. [代码]SimpleCalendarView.java
public class SimpleCalendarView extends FrameLayout {
private ImageView calendarImageView = null;
private TextView calendarMonthTextView = null;
private TextView calendarDayTextView = null;
public SimpleCalendarView(Context context) {
super(context);
}
public SimpleCalendarView(Context context, AttributeSet attributeSet) {
super(context, attributeSet);
setUpImageView(context);
setUpDayView(context);
setUpMonthView(context);
/* Add child views to this object. */
addView(calendarImageView);
addView(calendarMonthTextView);
addView(calendarDayTextView);
}
private void setUpImageView(final Context context) {
calendarImageView = new ImageView(context);
calendarImageView.setImageResource(R.drawable.bg_calendar);
calendarImageView.setScaleType(ImageView.ScaleType.FIT_XY);
}
private void setUpMonthView(final Context context) {
calendarMonthTextView = new TextView(context);
calendarMonthTextView.setTextSize(7);
calendarMonthTextView.setTypeface(Typeface.DEFAULT_BOLD);
calendarMonthTextView.setPadding(0, 4, 0, 0);
calendarMonthTextView.setTextColor(Color.WHITE);
calendarMonthTextView.setGravity(Gravity.CENTER_HORIZONTAL);
}
private void setUpDayView(final Context context) {
calendarDayTextView = new TextView(context);
calendarDayTextView.setTextSize(10);
calendarDayTextView.setTypeface(Typeface.DEFAULT_BOLD);
calendarDayTextView.setPadding(0, 13, 0, 0);
calendarDayTextView.setTextColor(Color.WHITE);
calendarDayTextView.setGravity(Gravity.CENTER_HORIZONTAL);
}
public void setDayOfMonth(final int day) {
this.calendarDayTextView.setText(Integer.toString(day));
}
public void setMonth(final String month) {
this.calendarMonthTextView.setText(month);
}
}