1

Caldroidライブラリを使用しています。レイアウト内で使用したい。私のレイアウトにはテキストビューも含まれています。しかし、フレームレイアウトで Caldroid を使用すると、他のビューが消えます。

以下は、Caldroid と FrameLayout を使用した XML および Java コードです。

<LinearLayout 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"
         tools:context="com.birfincankafein.mpandroidchart.CalendarFragment"
          android:orientation="vertical">

<!-- TODO: Update blank fragment layout -->

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:id="@+id/container_caldroid"
    android:layout_weight="0.4">
</FrameLayout>

<ImageView
    android:layout_width="match_parent"
    android:layout_height="1dp"
    android:id="@+id/imageView_divider"
    android:layout_below="@+id/container_caldroid"
    android:focusableInTouchMode="false"
    android:layout_marginTop="2dp"
    android:layout_marginBottom="2dp"
    android:layout_weight="0.1"/>

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@+id/imageView_divider"
    android:background="#ffff00ba"
    android:layout_weight="0.4">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Text"
        android:id="@+id/textView_description"
        android:layout_centerVertical="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:background="#ff00ebff"/>
</RelativeLayout>

Javaコードは次のとおりです。

mCaldroidFragment = new CaldroidFragment();
    Bundle args = new Bundle();
    args.putInt( CaldroidFragment.START_DAY_OF_WEEK, CaldroidFragment.MONDAY );
    mCaldroidFragment.setArguments( args );
    getActivity().getSupportFragmentManager().beginTransaction().replace( R.id.container_calendar , mCaldroidFragment ).commit();

そして、ここにそれがどのように見えるか: カルドロイド

これらはフラグメントで Caldroid を使用するためのコードです。

    <LinearLayout 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"
         tools:context="com.birfincankafein.mpandroidchart.CalendarFragment"
          android:orientation="vertical">

<!-- TODO: Update blank fragment layout -->

<fragment
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    class="com.roomorama.caldroid.CaldroidFragment"
    android:id="@+id/container_caldroid"
    android:layout_weight="0.4">
</fragment>

<ImageView
    android:layout_width="match_parent"
    android:layout_height="1dp"
    android:id="@+id/imageView_divider"
    android:layout_below="@+id/container_caldroid"
    android:focusableInTouchMode="false"
    android:layout_marginTop="2dp"
    android:layout_marginBottom="2dp"
    android:layout_weight="0.1"/>

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@+id/imageView_divider"
    android:background="#ffff00ba"
    android:layout_weight="0.4">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Text"
        android:id="@+id/textView_description"
        android:layout_centerVertical="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:background="#ff00ebff"/>
</RelativeLayout>

また、Java コードは必要ありません。初期化済みでした。これがどのように見えるかです: カルドロイド

なぜこれが起こるのですか?このライブラリをフレーム レイアウト内で使用したい。手動で初期化する必要があるためです。必要なものを設定する必要があります。

Ps: 背景色は、レイアウトがどこにあるかを検出するためのものです。

4

1 に答える 1