Добавление фрагмента поверх макета другого фрагмента - PullRequest
0 голосов
/ 29 мая 2018

Я знаю, что это может быть простой вопрос.Я пытаюсь добавить фрагмент, скажем, фрагмент А выше фрагмента Б. Обычно, добавляя фрагмент, мы добавляем его в макет «Активность».Но сейчас я пытаюсь добавить фрагмент А к макету фрагмента В, чтобы пользователь мог просматривать фрагмент А над фрагментом В всякий раз, когда он перемещается только к фрагменту В, но не к другим фрагментам.Проблема в том, что фрагмент А не охватывает весь макет и охватывает только часть фрагмента В. Я опубликую свой код ниже.Пожалуйста, помогите.

Внутри Frag B.xml:

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:background="@color/page_background"
android:orientation="vertical"
android:padding="20dp"
android:id="@+id/scan_layout"
android:clickable="true"
android:gravity="center_horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- TODO: Update blank fragment layout -->
<RadioGroup
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="20dp"
    android:layout_gravity="center_horizontal"
    android:gravity="center_horizontal"
    android:clickable="true"
    android:id="@+id/radioGroupScan"
    android:orientation="horizontal">
    <RadioButton
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:padding="8dp"
        android:text="Registered"
        android:checked="true"
        android:textSize="12sp"
        android:textColor="#000000"
        android:background="@drawable/radiobutton_left_selector"
        android:button="@android:color/transparent"
        android:foreground="?android:attr/selectableItemBackground"
        android:id="@+id/radio_registered"/>
    <RadioButton
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:padding="8dp"
        android:text="Available"
        android:background="@drawable/radiobutton_right_selector"
        android:textSize="12sp"
        android:textColor="#FFFFFF"
        android:button="@android:color/transparent"
        android:foreground="?android:attr/selectableItemBackground"
        android:id="@+id/radio_available"/>
</RadioGroup>

<android.support.v7.widget.RecyclerView
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:clickable="true"
    android:layout_marginTop="20dp"
    android:id="@+id/scantoolListRegistered">

</android.support.v7.widget.RecyclerView>

<android.support.v7.widget.RecyclerView
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:clickable="true"
    android:layout_marginTop="20dp"
    android:visibility="gone"
    android:id="@+id/scantoolListAvailable">

</android.support.v7.widget.RecyclerView>

<TextView
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:text="No Tools Available."
    android:textColor="#ffffff"
    android:id="@+id/notool"
    android:gravity="center"
    android:textSize="15sp"
    android:visibility="gone"
    />

И Внутри FragB.java Я пишу:

  blankFragment.setArguments(bundle);
        // LocalBroadcastManager.getInstance(getActivity()).unregisterReceiver(receiver);
        fragmentManager.beginTransaction().add(R.id.scan_layout, blankFragment).commit();

Ответы [ 2 ]

0 голосов
/ 29 мая 2018

Сделайте это, чтобы открыть другой фрагмент из другого фрагмента:

openDialogBtn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Log.d(TAG, "onClick: opening custom dialog");
        customDialogFragment customDialogFragment = new customDialogFragment();
        customDialogFragment.setTargetFragment(MainFragment.this,/*requestCode*/ 1);
        customDialogFragment.show(getFragmentManager(), "/*tag*/ MycustomDialogFragment");
    }
});
0 голосов
/ 29 мая 2018

Внутри вашего activity.xml вы можете разместить две (Frame) компоновки и рассматривать их как контейнер фрагментов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...