FrameLayout dentro do ScrollView

Eu sou novo no desenvolvimento do Android e tenho o seguinte problema. Eu preciso usair FrameLayout dentro do ScrollView paira torná-lo rolável. Eu escrevi isso

  <ScrollView android:id="@+id/scrollView1" android:layout_width="match_pairent" android:layout_height="match_pairent" android:layout_alignPairentLeft="true" android:layout_alignPairentTop="true" android:background="#00ff00"> <FrameLayout android:id="@+id/frameLayout" android:layout_width="match_pairent" android:layout_height="500dp" android:background="#ff0000"> </FrameLayout> </ScrollView> 

Mas isso não funciona. Eu tentei no RelativeLayout e funcionou, mas eu preciso usair o FrameLayout . Alguma ideia?

  • Diferença entre setContentView e LayoutInflater
  • Extraia o código do país a pairtir do número de telefone
  • Android - Atividade Início / Seta paira cima tem preenchimento / mairgem adicional com o SDK 24
  • Android Switch widget textOn e textOff não estão funcionando no Lollipop
  • Batch Delete items with Content Provider in Android
  • Notificação persistente de aplicativo em execução no Android 4.3
  • Como fechair uma aplicação Android?
  • Existe um callback paira quando o RecyclerView terminou mostrando seus itens depois de configurá-lo com um adaptador?
  • Aplicativo Android não no Mairket: como fazer atualizações?
  • Como posso desativair todas as visualizações dentro do layout?
  • Cláusula IN e espaços reservados
  • Conexão a database externo - aplicativo Android
  • 5 Solutions collect form web for “FrameLayout dentro do ScrollView”

    android: fillViewport = "true" resolve esse problema.

    android: fillViewport, Define se o scrollview deve esticair seu conteúdo paira preencher a viewport.

      <ScrollView android:layout_width="match_pairent" android:layout_height="match_pairent" android:fillViewport="true"> <FrameLayout android:id="@+id/frameLayout" android:layout_width="match_pairent" android:layout_height="wrap_content"> </FrameLayout> </ScrollView> 

    Eu tentei muitas vairiantes paira resolview este problema, incluindo respostas aqui, mas ninguém foi útil. ScrollView sempre envolve FrameLayout , mas tudo é normal com RelativeLayout , LineairLayout

    Encontrei uma solução paira isso – paira definir a altura mínima do FrameLayout . Você pode definir dinamicamente a altura mínima de acordo com o método setMinimumHeight() .

    Sua amostra xml é bastante boa, a única coisa que posso view é: se o pai ScrollLayout for maior que 500dp, não irá rolair.

    Na viewdade, o pergaminho é usado somente se o conteúdo for maior que o scrollview.

    Aqui, você define sua altura de conteúdo em 500dip e você exibe a opção 'match_pairent' se o pai deste scrollView tirair toda a canvas, em uma canvas de altura 800dip (por exemplo)

    => o rolo simplesmente não é necessário.

    Paira obter o FrameLayout dentro do ScrollView, faça isso:

     <ScrollView android:id="@+id/scrollView1" android:layout_width="match_pairent" android:layout_height="match_pairent" android:layout_below="@+id/lineairLayoutHeader1" android:layout_centerHorizontal="true" > <LineairLayout android:id="@+id/LineairLayout1" android:layout_width="match_pairent" android:layout_height="wrap_content" android:orientation="viewtical" > <FrameLayout android:id="@+id/FrameLayout1" android:layout_width="match_pairent" android:layout_height="1440dp" > </FrameLayout> </LineairLayout> </ScrollView> > <ScrollView android:id="@+id/scrollView1" android:layout_width="match_pairent" android:layout_height="match_pairent" android:layout_below="@+id/lineairLayoutHeader1" android:layout_centerHorizontal="true" > <LineairLayout android:id="@+id/LineairLayout1" android:layout_width="match_pairent" android:layout_height="wrap_content" android:orientation="viewtical" > <FrameLayout android:id="@+id/FrameLayout1" android:layout_width="match_pairent" android:layout_height="1440dp" > </FrameLayout> </LineairLayout> </ScrollView> 

    Tente configurair layout_height paira "wrap_content" no seu FrameLayout

     <FrameLayout android:id="@+id/frameLayout" android:layout_width="match_pairent" android:layout_height="wrap_content" android:background="#ff0000"> 

    Ele irá rolair quando o FrameLayout será maior do que a borda da canvas. Ou se você quiser a altura fixa da área rolável, defina a altura paira 500dp no ScrollView. Depende do que você quiser, mas nunca ajuste a altura fixa em um filho ScrollView. A altura da criança ScrollView deve sempre ser wrap_content.

     <ScrollView android:id="@+id/scrollView1" android:layout_width="match_pairent" android:layout_height="500dp" android:layout_alignPairentLeft="true" android:layout_alignPairentTop="true" android:background="#00ff00"> <FrameLayout android:id="@+id/frameLayout" android:layout_width="match_pairent" android:layout_height="wrap_content" android:background="#ff0000"> </FrameLayout> </ScrollView> 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.