Skip to content

Commit b04b71c

Browse files
fix(AppDrawer): Convert search bar to ConstraintLayout to fix alignment
The search bar container in the app drawer layout has been refactored from a `LinearLayout` to a `androidx.constraintlayout.widget.ConstraintLayout`. This change modernizes the layout and removes the need for a `Space` view for end margin. The `FontSearchView` and adjacent `ImageView` icons are now positioned using constraints, resulting in a cleaner and more efficient layout structure. The `tools` namespace, which was no longer needed, has also been removed.
1 parent 4b1449b commit b04b71c

File tree

1 file changed

+54
-63
lines changed

1 file changed

+54
-63
lines changed

app/src/main/res/layout/fragment_app_drawer.xml

Lines changed: 54 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,112 +1,103 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
33
xmlns:app="http://schemas.android.com/apk/res-auto"
4-
xmlns:tools="http://schemas.android.com/tools"
54
android:id="@+id/mainLayout"
65
android:layout_width="match_parent"
76
android:layout_height="match_parent"
87
android:animateLayoutChanges="true"
98
android:background="?attr/primaryShadeDarkColor">
109

1110
<!-- Search Bar positioned at the top -->
12-
<LinearLayout
11+
<androidx.constraintlayout.widget.ConstraintLayout
1312
android:id="@+id/searchContainer"
1413
android:layout_width="match_parent"
1514
android:layout_height="wrap_content"
16-
android:layout_alignParentTop="true"
1715
android:layout_marginTop="34dp"
18-
android:orientation="horizontal"
16+
android:layout_marginEnd="12dp"
1917
android:paddingHorizontal="8dp">
2018

2119
<com.github.creativecodecat.components.views.FontSearchView
2220
android:id="@+id/search"
2321
android:layout_width="0dp"
2422
android:layout_height="wrap_content"
25-
android:layout_weight="1"
26-
android:gravity="end"
2723
android:imeOptions="actionSearch"
28-
android:paddingHorizontal="0dp"
29-
android:paddingVertical="0dp"
3024
app:iconifiedByDefault="false"
25+
app:layout_constraintBottom_toBottomOf="parent"
26+
app:layout_constraintEnd_toStartOf="@id/workApps"
27+
app:layout_constraintStart_toStartOf="parent"
28+
app:layout_constraintTop_toTopOf="parent"
3129
app:queryBackground="@null"
3230
app:queryHint="___"
3331
app:searchIcon="@drawable/ic_search"
3432
app:theme="@style/AppSearchText" />
3533

3634
<ImageView
3735
android:id="@+id/workApps"
38-
android:layout_width="wrap_content"
39-
android:layout_height="wrap_content"
40-
android:adjustViewBounds="true"
41-
android:contentDescription="@string/advanced_settings_app_info_title"
42-
android:paddingHorizontal="5dp"
43-
android:paddingVertical="8dp"
44-
android:scaleType="fitCenter"
36+
android:layout_width="38dp"
37+
android:layout_height="38dp"
38+
android:contentDescription="@string/show_work_apps"
39+
android:padding="8dp"
40+
android:scaleType="centerInside"
4541
android:visibility="gone"
46-
app:srcCompat="@drawable/work_profile"
47-
tools:layout_conversion_absoluteHeight="0dp"
48-
tools:layout_conversion_absoluteWidth="0dp" />
42+
app:layout_constraintBottom_toBottomOf="@id/search"
43+
app:layout_constraintStart_toEndOf="@id/search"
44+
app:layout_constraintTop_toTopOf="@id/search"
45+
app:srcCompat="@drawable/work_profile" />
4946

5047
<ImageView
5148
android:id="@+id/privateApps"
52-
android:layout_width="wrap_content"
53-
android:layout_height="wrap_content"
54-
android:adjustViewBounds="true"
55-
android:contentDescription="@string/advanced_settings_app_info_title"
56-
android:paddingHorizontal="5dp"
57-
android:paddingVertical="8dp"
58-
android:scaleType="fitCenter"
49+
android:layout_width="38dp"
50+
android:layout_height="38dp"
51+
android:contentDescription="@string/show_private_apps"
52+
android:padding="8dp"
53+
android:scaleType="centerInside"
5954
android:visibility="gone"
60-
app:srcCompat="@drawable/private_profile_off"
61-
tools:layout_conversion_absoluteHeight="0dp"
62-
tools:layout_conversion_absoluteWidth="0dp" />
55+
app:layout_constraintBottom_toBottomOf="@id/search"
56+
app:layout_constraintStart_toEndOf="@id/workApps"
57+
app:layout_constraintTop_toTopOf="@id/search"
58+
app:srcCompat="@drawable/private_profile_off" />
6359

6460
<ImageView
6561
android:id="@+id/systemApps"
66-
android:layout_width="wrap_content"
67-
android:layout_height="wrap_content"
68-
android:adjustViewBounds="true"
69-
android:contentDescription="@string/advanced_settings_app_info_title"
70-
android:paddingHorizontal="5dp"
71-
android:paddingVertical="8dp"
72-
android:scaleType="fitCenter"
62+
android:layout_width="38dp"
63+
android:layout_height="38dp"
64+
android:contentDescription="@string/show_app_list"
65+
android:padding="8dp"
66+
android:scaleType="centerInside"
7367
android:visibility="gone"
74-
app:srcCompat="@drawable/system_profile"
75-
tools:layout_conversion_absoluteHeight="0dp"
76-
tools:layout_conversion_absoluteWidth="0dp" />
68+
app:layout_constraintBottom_toBottomOf="@id/search"
69+
app:layout_constraintStart_toEndOf="@id/privateApps"
70+
app:layout_constraintTop_toTopOf="@id/search"
71+
app:srcCompat="@drawable/system_profile" />
7772

7873
<ImageView
7974
android:id="@+id/internetSearch"
80-
android:layout_width="wrap_content"
81-
android:layout_height="wrap_content"
82-
android:adjustViewBounds="true"
83-
android:contentDescription="@string/advanced_settings_app_info_title"
84-
android:paddingHorizontal="5dp"
85-
android:paddingVertical="8dp"
86-
android:scaleType="fitCenter"
75+
android:layout_width="38dp"
76+
android:layout_height="38dp"
77+
android:contentDescription="@string/applist_button_web"
78+
android:padding="8dp"
79+
android:scaleType="centerInside"
8780
android:visibility="gone"
88-
app:srcCompat="@drawable/ic_browser"
89-
tools:layout_conversion_absoluteHeight="0dp"
90-
tools:layout_conversion_absoluteWidth="0dp" />
81+
app:layout_constraintBottom_toBottomOf="@id/search"
82+
app:layout_constraintStart_toEndOf="@id/systemApps"
83+
app:layout_constraintTop_toTopOf="@id/search"
84+
app:srcCompat="@drawable/ic_browser" />
9185

9286
<ImageView
9387
android:id="@+id/searchSwitcher"
94-
android:layout_width="wrap_content"
95-
android:layout_height="wrap_content"
96-
android:adjustViewBounds="true"
97-
android:contentDescription="@string/advanced_settings_app_info_title"
98-
android:paddingHorizontal="5dp"
99-
android:paddingVertical="8dp"
100-
android:scaleType="fitCenter"
88+
android:layout_width="38dp"
89+
android:layout_height="38dp"
90+
android:contentDescription="@string/applist_button_contacts"
91+
android:padding="8dp"
92+
android:scaleType="centerInside"
10193
android:visibility="gone"
102-
app:srcCompat="@drawable/ic_contacts"
103-
tools:layout_conversion_absoluteHeight="0dp"
104-
tools:layout_conversion_absoluteWidth="0dp" />
105-
106-
<Space
107-
android:layout_width="12dp"
108-
android:layout_height="0dp" />
109-
</LinearLayout>
94+
app:layout_constraintBottom_toBottomOf="@id/search"
95+
app:layout_constraintEnd_toEndOf="parent"
96+
app:layout_constraintStart_toEndOf="@id/internetSearch"
97+
app:layout_constraintTop_toTopOf="@id/search"
98+
app:srcCompat="@drawable/ic_contacts" />
99+
100+
</androidx.constraintlayout.widget.ConstraintLayout>
110101

111102
<com.github.creativecodecat.components.views.FontAppCompatTextView
112103
android:id="@+id/clearHomeButton"

0 commit comments

Comments
 (0)