1
0
Fork 0
mirror of https://github.com/anyproto/anytype-kotlin.git synced 2025-06-08 13:57:10 +09:00

Relation | Add new relation to object or data view | List height issue (#1592)

This commit is contained in:
Evgenii Kozlov 2021-06-28 17:23:23 +03:00 committed by GitHub
parent 63be84d2cc
commit cd28a8a8b6
Signed by: github
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 62 additions and 65 deletions

View file

@ -5,7 +5,7 @@ import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.LinearLayout
import android.widget.FrameLayout
import androidx.core.os.bundleOf
import androidx.fragment.app.viewModels
import androidx.lifecycle.lifecycleScope
@ -18,10 +18,7 @@ import com.anytypeio.anytype.core_ui.features.relations.RelationAddAdapter
import com.anytypeio.anytype.core_ui.features.relations.RelationAddHeaderAdapter
import com.anytypeio.anytype.core_ui.reactive.focusChanges
import com.anytypeio.anytype.core_ui.reactive.textChanges
import com.anytypeio.anytype.core_utils.ext.arg
import com.anytypeio.anytype.core_utils.ext.drawable
import com.anytypeio.anytype.core_utils.ext.subscribe
import com.anytypeio.anytype.core_utils.ext.toast
import com.anytypeio.anytype.core_utils.ext.*
import com.anytypeio.anytype.core_utils.ui.BaseBottomSheetFragment
import com.anytypeio.anytype.di.common.componentManager
import com.anytypeio.anytype.presentation.relations.RelationAddBaseViewModel
@ -31,6 +28,7 @@ import com.google.android.material.bottomsheet.BottomSheetBehavior
import kotlinx.android.synthetic.main.fragment_relation_add.*
import javax.inject.Inject
abstract class RelationAddBaseFragment : BaseBottomSheetFragment() {
abstract val vm: RelationAddBaseViewModel
@ -78,8 +76,8 @@ abstract class RelationAddBaseFragment : BaseBottomSheetFragment() {
}
private fun setupFullHeight() {
val lp = (root.layoutParams as LinearLayout.LayoutParams)
lp.height = Resources.getSystem().displayMetrics.heightPixels
val lp = (root.layoutParams as FrameLayout.LayoutParams)
lp.height = Resources.getSystem().displayMetrics.heightPixels - requireActivity().statusBarHeight
root.layoutParams = lp
}

View file

@ -1,72 +1,64 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/root"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/sheet"
android:orientation="vertical">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/root"
<View
android:id="@+id/dragger"
android:layout_width="48dp"
android:layout_height="4dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="6dp"
android:background="@drawable/dragger" />
<LinearLayout
android:id="@+id/searchBar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="20dp"
android:background="@drawable/rect_dv_filter_search"
android:orientation="horizontal">
<View
android:id="@+id/dragger"
android:layout_width="48dp"
android:layout_height="4dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="6dp"
android:background="@drawable/dragger" />
<LinearLayout
android:id="@+id/searchBar"
android:layout_width="match_parent"
<ImageView
android:id="@+id/searchIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="20dp"
android:background="@drawable/rect_dv_filter_search"
android:orientation="horizontal">
android:layout_gravity="center_vertical"
android:layout_marginStart="8dp"
android:layout_marginTop="6dp"
android:layout_marginBottom="6dp"
android:src="@drawable/ic_dv_filter_search" />
<ImageView
android:id="@+id/searchIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="8dp"
android:layout_marginTop="6dp"
android:layout_marginBottom="6dp"
android:src="@drawable/ic_dv_filter_search" />
<EditText
android:id="@+id/searchRelationInput"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="4dp"
android:background="@null"
android:fontFamily="@font/inter_regular"
android:gravity="center_vertical"
android:hint="@string/find_a_relation"
android:maxLines="1"
android:singleLine="true"
android:textColor="@color/black"
android:textColorHint="@color/gray"
android:textCursorDrawable="@drawable/cursor"
android:textSize="15sp"
tools:text="Search" />
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/relationAddRecycler"
<EditText
android:id="@+id/searchRelationInput"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="10dp"
android:layout_weight="1"
tools:listitem="@layout/item_document_relation_default" />
android:layout_marginStart="4dp"
android:background="@null"
android:fontFamily="@font/inter_regular"
android:gravity="center_vertical"
android:hint="@string/find_a_relation"
android:maxLines="1"
android:singleLine="true"
android:textColor="@color/black"
android:textColorHint="@color/gray"
android:textCursorDrawable="@drawable/cursor"
android:textSize="15sp"
tools:text="Search" />
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/relationAddRecycler"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="10dp"
android:layout_weight="1"
tools:listitem="@layout/item_document_relation_default" />
</LinearLayout>

View file

@ -2,9 +2,9 @@ package com.anytypeio.anytype.core_utils.ext
import android.app.Activity
import android.content.Context
import android.graphics.Rect
import android.view.View
import android.view.inputmethod.InputMethodManager
import android.widget.TextView
import androidx.core.content.getSystemService
import androidx.fragment.app.Fragment
import com.google.android.material.snackbar.Snackbar
@ -47,4 +47,11 @@ fun Activity.hideSoftInput() {
}
}
fun Fragment.hideSoftInput() = requireActivity().hideSoftInput()
fun Fragment.hideSoftInput() = requireActivity().hideSoftInput()
val Activity.statusBarHeight : Int
get() {
val rectangle = Rect()
window.decorView.getWindowVisibleDisplayFrame(rectangle)
return rectangle.top
}