Вот код, с которым я столкнулся с проблемой: я взял 2 линейных макета внутри прокрутки, теперь последняя кнопка внутри 2-го линейного макета скрыта, или я могу сказать, что не отображается должным образом.
Вот скриншот. Вы можете проверить, что выбранная мной область является кнопкой, но не работает должным образом.
<ScrollView
xmlns:android = "http://schemas.android.com/apk/res/android"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:fillViewport = "true"
>
<LinearLayout
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:orientation = "vertical"
android:weightSum = "1">
<LinearLayout
android:id = "@+id/ConcernedPortionofScreen"
android:layout_width = "match_parent"
android:layout_height = "0dp"
android:layout_weight = "0.25"
android:orientation = "vertical">
</LinearLayout>
<LinearLayout
android:id = "@+id/RestofScreen"
android:layout_width = "match_parent"
android:layout_height = "0dp"
android:layout_weight = "0.75"
android:orientation = "vertical"
android:padding = "20dp">
<Button
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:background = "@drawable/custom_button_shape_with_bg_primary"
android:minHeight = "@dimen/minimum_height_all_object"
android:layout_marginTop = "@dimen/add_child_rquest_margin_top"
android:text = "SELECT"
android:textColor = "@color/white"
/>
</LinearLayout>
</LinearLayout>
</ScrollView>
когда я пытаюсь удалить layout_weight, мой макет набирает массу.
<android.support.constraint.ConstraintLayout xmlns:android = "http://schemas.android.com/apk/res/android"
xmlns:tools = "http://schemas.android.com/tools"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:background = "@android:color/white"
android:orientation = "vertical"
tools:context = ".MainActivity">
<ScrollView xmlns:android = "http://schemas.android.com/apk/res/android"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:fillViewport = "true">
<LinearLayout
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:orientation = "vertical"
android:weightSum = "1">
<LinearLayout
android:id = "@+id/ConcernedPortionofScreen"
android:layout_width = "match_parent"
android:layout_height = "0dp"
android:layout_weight = "0.25"
android:orientation = "vertical">
<!-- Parent FrameLayout 'FL' -->
<FrameLayout
android:layout_width = "match_parent"
android:layout_height = "match_parent">
<!--Conitans Tree Childs -->
</FrameLayout>
</LinearLayout>
<LinearLayout
android:id = "@+id/RestofScreen"
android:layout_width = "match_parent"
android:layout_height = "0dp"
android:layout_weight = "0.75"
android:orientation = "vertical"
android:padding = "20dp">
<LinearLayout
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:weightSum = "1">
<!--Conitans Two Childs -->
</LinearLayout>
<EditText
style = "@style/CustomEdittextTheme"
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:layout_marginTop = "@dimen/add_child_rquest_margin_top"
android:hint = "Enter Child Name"
android:minHeight = "@dimen/add_child_rquest_minimum_height_all_object" />
<EditText
style = "@style/CustomEdittextTheme"
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:layout_marginTop = "@dimen/add_child_rquest_margin_top"
android:hint = "Select City"
android:minHeight = "@dimen/add_child_rquest_minimum_height_all_object" />
<TextView
style = "@style/CustomEdittextTheme"
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:layout_marginTop = "@dimen/add_child_rquest_margin_top"
android:hint = "Select Birthdate"
android:minHeight = "@dimen/add_child_rquest_minimum_height_all_object" />
<LinearLayout
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:orientation = "horizontal"
android:weightSum = "1">
<!--Conitans Two Childs -->
</LinearLayout>
<LinearLayout
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:orientation = "horizontal"
android:weightSum = "1">
<!--Conitans Two Childs -->
</LinearLayout>
<EditText
style = "@style/CustomEdittextTheme"
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:layout_marginTop = "@dimen/add_child_rquest_margin_top"
android:hint = "Enter Mobile Number"
android:minHeight = "@dimen/add_child_rquest_minimum_height_all_object" />
<LinearLayout
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:orientation = "horizontal"
android:weightSum = "1">
<!--Conitans Two Childs -->
</LinearLayout>
<TextView
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:layout_marginTop = "@dimen/add_child_rquest_margin_top"
android:fontFamily = "@font/segoe_ui_bold"
android:paddingLeft = "10dp"
android:text = "Note / Message :"
android:textColor = "@color/colorPrimaryDark"
android:textSize = "18dp" />
<EditText
style = "@style/CustomEdittextTheme"
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:layout_marginTop = "@dimen/add_child_rquest_margin_top"
android:inputType = "textMultiLine"
android:lines = "8"
android:maxLines = "8"
android:minHeight = "@dimen/add_child_rquest_minimum_height_all_object"
android:minLines = "8"
android:scrollbars = "vertical" />
<Button
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_gravity = "center_horizontal"
android:layout_marginTop = "@dimen/add_child_rquest_margin_top"
android:background = "@drawable/custom_button_shape_with_bg_primary"
android:fontFamily = "@font/segoe_ui_bold"
android:minHeight = "@dimen/add_child_rquest_minimum_height_all_object"
android:text = "SUBMIT"
android:textColor = "@color/white" />
</LinearLayout>
</LinearLayout>
</ScrollView>
</android.support.constraint.ConstraintLayout>
Вы устанавливаете высоту LinearLayout на match_parent, поэтому прокрутки никогда не будет.
@SushilKumar это 'android: minHeight = "40dp"'
@dharms scrolling работает, на нем так много элементов, но проблема с последним элементом. У меня такая же проблема с другим макетом.
вы не должны использовать родителя match для дочернего элемента scrollview, а также удалять веса, это основные проблемы.
@AsifRahman Я взял 2 линейных макета внутри scrollview, поэтому я выбираю веса, которые управляют относительным макетом моего экрана.
Здесь не используются веса внутри scrollview. Удалите и проверьте это.
@Raj, а что, если я хочу исправить часть всего макета?
@Raj checkout после удаления весов мой макет становится беспорядочным.
@dharms, верно, сэр
Это Happends из-за layout_height = "match_parent" для ScrollView дочернего LinearLayout
Измените layout_height на wrap_content
<ScrollView
xmlns:android = "http://schemas.android.com/apk/res/android"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:fillViewport = "true"
>
<LinearLayout
android:layout_width = "match_parent"
//android:layout_height = "match_parent"
android:layout_height = "wrap_content"
android:orientation = "vertical"
android:weightSum = "1">
//childs ..........
</LinearLayout>
<ScrollView>
wrap_content
Установка размера представления на wrap_content заставит его расшириться настолько, чтобы вместить значения (или дочерние элементы управления), которые он содержит. Для элементов управления, таких как текстовые поля (TextView) или изображения (ImageView), это будет переносить отображаемый текст или изображение. Для элементов макета он изменит размер макета, чтобы он соответствовал элементам управления / макетам, добавленным в качестве его дочерних элементов.
FILL_PARENT (переименован в MATCH_PARENT на уровне API 8 и выше), что означает, что представление должно быть как big as its parent (без заполнения)
WRAP_CONTENT, что означает, что представление должно быть просто большим enough to enclose its content (плюс отступы)
вы удалили android:weightSum = "1"
@Kishan и замените все дочерние элементы ScrollView с attr android:layout_height = "0dp" на wrap_content или match_parent
Мне нужно использовать layout_height, потому что без него я не могу создать свой макет, и я также использовал макет фрейма.
@Kishan, вы удалили android: weightSum = "1"
я удаляю "weightSum = 1" из ScrollView => LinearLayout => LinearLayout [отсюда я удаляю] да, это работает, но проблема в том, что мой макет портится ....
у вас есть teamViewer?
Ребята, я только что удалил Main Linear_layout, и теперь он работает хорошо.
Спасибо, ребята, что ответили.
Вот код, который мне подходит.
<android.support.constraint.ConstraintLayout xmlns:android = "http://schemas.android.com/apk/res/android"
xmlns:tools = "http://schemas.android.com/tools"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:background = "@android:color/white"
android:orientation = "vertical"
tools:context = ".MainActivity">
<ScrollView xmlns:android = "http://schemas.android.com/apk/res/android"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:fillViewport = "true">
<LinearLayout
android:id = "@+id/ConcernedPortionofScreen"
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:orientation = "vertical">
<!-- Part 1 [layout_weight='0.3' ] -->
<FrameLayout
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
>
<!-- Contains Childs -->
</FrameLayout>
<!-- Part 2 [layout_weight='0.7' ] -->
<LinearLayout
android:id = "@+id/RestofScreen"
android:layout_width = "match_parent"
android:layout_height = "0dp"
android:layout_weight = "0.75"
android:orientation = "vertical"
android:padding = "20dp">
<!-- Contains All Childs -->
</LinearLayout>
</LinearLayout>
</ScrollView>
</android.support.constraint.ConstraintLayout>
простейшее решение помещает ConstraintLayout в ScrollView следующим образом
<ScrollView
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:fillViewport = "true"
android:overScrollMode = "never">
<androidx.constraintlayout.widget.ConstraintLayout
android:id = "@+id/constraintLayout"
android:layout_width = "match_parent"
android:layout_height = "wrap_content">
<LinearLayout
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:baselineAligned = "false"
android:orientation = "vertical">
<!-- your other views could be here-->
<!-- your other views could be here-->
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>
что такое android: minHeight = "" значение размера?