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:
parent
63be84d2cc
commit
cd28a8a8b6
3 changed files with 62 additions and 65 deletions
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -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>
|
|
@ -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
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue