1

我正在使用Caldroid库。我想在我的布局中使用它。我的布局还包括 textview。但是当我使用带有框架布局的 Caldroid 时,其他视图消失了。

这是使用带有 FrameLayout 的 Caldroid 的 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

0

我无法重新创建相同的内容。下面的代码对我来说很好。

XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

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

<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>
</LinearLayout>

分段:

    public class meets extends Fragment {

    public meets() {
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

        View root = inflater.inflate(R.layout.fragment_meets, container, false);

        CaldroidFragment 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.cal_container , mCaldroidFragment ).commit();

        return root;
    }
}

在此处输入图像描述

于 2016-02-12T11:42:41.007 回答