startActivityForResultで呼び出すアクティビティ内にdatePickerウィジェットとtimePickerウィジェットを表示しようとしています。両方のピッカーは、親レイアウトの幅と一致する必要があります。私の場合、それはtimePickerで動作しますが、datePickerは画面全体を記入しません。Activity内のFullScreen DatePicker
プログラムで表示サイズを測定し、onResume内のdatePickerのlayoutparamsを設定しようとしました。しかし残念ながら、それはうまくいきませんでした。
datePickerウィジェットを実装して、親レイアウトの幅に広げる方法を教えてください。
日付ピッカースクリーンショット
timePickerスクリーンショット
activity_date_time_picker.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include
android:id="@+id/toolbar"
layout="@layout/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<ScrollView
android:id="@+id/scroll_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/toolbar">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<DatePicker
android:id="@+id/datePicker"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center" />
<TimePicker
android:id="@+id/timePicker"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center" />
</LinearLayout>
</ScrollView>
</RelativeLayout>
DateTimePickerActでonResume方法ivity:
/* ... */
@Override
protected void onResume() {
super.onResume();
int width = Resources.getSystem().getDisplayMetrics().widthPixels;
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) datePicker.getLayoutParams();
params.width = width;
datePicker.setLayoutParams(params);
}
/* ... */
あなたはこのような何かすべきことがあります imageView.setLayoutParams(新しいLayoutParams(LayoutParams.MATCH_PARENT、LayoutParams.MATCH_PARENT)); – KrishnaJ