Recentemente, com o Android Studio 2.2, há um novo ConstraintLayout que torna o design muito mais fácil, mas ao contrário de RelativeLayout
e Linearlayout
, não posso usar um ScrollView
para circundar ConstraintLayot
. Isso é possível? Se sim, como?
ie
<ScrollView 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"
tools:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="0dp">
<android.support.constraint.ConstraintLayout
android:id="@+id/constraintLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="0dp">
<!-- Have whatever children you want inside -->
</android.support.constraint.ConstraintLayout>
</ScrollView>
android
android-layout
user-interface
android-constraintlayout
Seth Painter
fonte
fonte
layout_height="wrap_content"
, o aplicativo mostra uma tela em branco, mas se eu usarlayout_height="match_parent"
, o aplicativo não rola.Respostas:
Havia um bug com ConstraintLayout dentro de ScrollViews e foi corrigido. O Google corrigiu o bug no Android Studio 2.2 Preview 2 (constraintlayout 1.0.0-alpha2).
Verifique este link para novas atualizações (Visualização 2): funciona corretamente dentro de ScrollView e RecycleView
Solução 1:
Solução 2:
fonte
Tente adicionar
android:fillViewport="true"
ao ScrollView.Encontrou a solução aqui: LinearLayout não se expande dentro de um ScrollView
fonte
usar
NestedScrollView
com viewport true está funcionando bem para mimfonte
Definido
ScrollView
layout_height
como um,wrap_content
então funcionará bem. Abaixo estão exemplos que podem ajudar alguém. Eu useicompile 'com.android.support.constraint:constraint-layout:1.0.2'
para layout de restrição.fonte
Não se esqueça de que se você restringir a parte inferior de alguma visualização à parte inferior do layout, a visualização de rolagem não pode rolar.
fonte
Tente dar um pouco de preenchimento ao seu layout de restrição como abaixo
fonte
Passei 2 dias tentando converter layouts para
ConstraintLayout
a chamada versão "estável" do Android Studio 2.2 e não tenhoScrollView
que trabalhar no designer. Não vou iniciar a rota de adicionar restrições em XML paraViews
que estejam mais abaixo na rolagem. Afinal, isso deveria ser uma ferramenta de design visual.E o número de erros de renderização, estouro de pilha e problemas de tema que tive me levou a concluir que todo
ConstraintLayout
implementação ainda está repleta de bugs. A menos que você esteja desenvolvendo layouts simples, eu o deixaria bem até que tenha pelo menos mais algumas iterações.São 2 dias que não vou voltar.
fonte
Uma vez que o real
ScrollView
é encapsulado em umCoordinatorLayout
com umToolbar
...... Tive que definir
android:layout_marginTop="?attr/actionBarSize"
para fazer a rolagem funcionar:Acima também funciona com em
NestedScrollView
vez deScrollView
. Definirandroid:fillViewport="true"
não é necessário para mim.fonte
Não se esqueça de
tools:context=".YouClassName"
propriedade emScrollView
.É o que estava causando o travamento do meu aplicativo.
fonte