Android-проект кнопки навигации деятельности верхний край фрагмента - PullRequest
0 голосов
/ 21 октября 2019

Я новичок в разработке Android. В данный момент нужно убрать поле top, изображенное на картинке ниже фрагмент поля top

В проекте есть 3 файла для представления макета.

фрагмент_dashboard.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#153091">

    <TextView
        android:id="@+id/text_dashboard"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="8dp"
        android:textAlignment="center"
        android:textSize="20sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

DashboardFragment.kt

package com.luismakeapp.myapplication.ui.dashboard

import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.core.view.marginTop
import androidx.fragment.app.Fragment
import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProviders
import com.luismakeapp.myapplication.R

class DashboardFragment : Fragment() {

    private lateinit var dashboardViewModel: DashboardViewModel

    override fun onCreateView(
        inflater: LayoutInflater,
        container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        dashboardViewModel =
            ViewModelProviders.of(this).get(DashboardViewModel::class.java)
        val root = inflater.inflate(R.layout.fragment_dashboard, container, false)
        val textView: TextView = root.findViewById(R.id.text_dashboard)
        dashboardViewModel.text.observe(this, Observer {
            textView.text = it
        })

        return root
    }
}

DashboardViewModel.kt

package com.luismakeapp.myapplication.ui.dashboard

import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel

class DashboardViewModel : ViewModel() {

    private val _text = MutableLiveData<String>().apply {
        value = "This is dashboard Fragment"
    }
    val text: LiveData<String> = _text
}

Какой файл редактирования для изменения макета и удаления полей, представленных на рисунке выше?

Спасибо.

1 Ответ

0 голосов
/ 21 октября 2019

Ваш вопрос немного сбивает с толку. Попробуйте взглянуть на Как мне задать хороший вопрос?

В любом случае, вы проверили свою активность? Я предполагаю, что вы используете Фрагмент внутри Деятельности, поэтому я предлагаю вам проверить макет вашей Деятельности.

Если вы еще этого не делаете, тогда я настоятельно рекомендую сделать это. Попробуйте добавить, например, FrameLayout в макет вашего MainActivity и назовите его fragment_container. Убедитесь, что вы не добавляете поля и все ваши ограничения ConstraintLayout в Top , Bottom , Start и End с match_parent.

После этого вы можете использовать параметры меню для переключения между фрагментами, например:

FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, mFeedFragment);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();

Более подробную информацию можно получить по FragmentTransaction здесь .

...