La mia vista personalizzata non è visibile quando incorporato all'interno HorizontalScrollView
-
26-10-2019 - |
Domanda
So che un sacco di persone hanno avuto problemi simili a questo, ma non riesco a trovare una soluzione. Ho creato una visualizzazione personalizzata che si estende SurfaceView. Questo punto di vista funziona perfettamente quando uso:
setContentView(graphView);
Comunque voglio che essere incorporato all'interno di un HorizontalScrollView. Se provo questo con XML con:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<HorizontalScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true">
<com.stuff.graph.GraphView
android:id="@+id/graph"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
</HorizontalScrollView>
</FrameLayout>
Poi ho un errore irreversibile e le mie si chiude l'applicazione.
Se provo a risolvere questo programatically con:
graphView = new GraphView(this);
graphView.setVisibility(View.VISIBLE);
myScrollView = new HorizontalScrollView(this);
graphView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
myScrollView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
myScrollView.addView(graphView);
setContentView(myScrollView);
Poi lo schermo è solo nero. Ho anche provato molte variazioni sul codice mostrato sopra, ma nessuno ha avuto successo. Dove sto andando male?
Soluzione 2
Si scopre che questo non è davvero il modo per risolvere questo problema:
http://www.mail-archive.com/ android-developers@googlegroups.com/msg45804.html
La mia soluzione è che io non ho intenzione di usare SurfaceView, invece sono probabilmente andando a disegnare una bitmap e mettere che in un imageview quale posso poi mettere all'interno di uno ScrollView.
Altri suggerimenti
Si dovrebbe essere in grado di farlo in XML non è un problema - provare a incorporare la visualizzazione grafico personalizzato all'interno di un ListView all'interno della vista di scorrimento; nella mia esperienza con horizontalScrollView essi tendono ad essere molto raccogliere circa i loro contenuti. Se questo non funziona, provare verificando se c'è un problema con il frame vista. Basta aggiungere un pulsante per la visualizzazione di scorrimento orizzontale e vedere se è possibile ottenere che a vedere. Se no, allora c'è un problema cercando di visualizzare il fotogramma, e non ha nulla a che fare con il codice personalizzato.