2010-10-12 2 views

Répondre

0

Créer un ScrollView puis à l'intérieur de ce lieu un HorizontalScrollView. Maintenant, cela se comportera comme sur un objet qui a des propriétés de défilement vertical et horizontal.

+0

L'expérience utilisateur sera plutôt terrible cependant. Mais sur le plan fonctionnel, cette solution fonctionne. –

1

Il existe des classes de base pour les vues de défilement horizontal et les défilements verticaux, mais pas une où l'on peut faire défiler deux dimensions en même temps.

J'ai trouvé ce blog dans lequel Matt Clark a créé une nouvelle classe TwoDScrollView.

http://blog.gorges.us/2010/06/android-two-dimensional-scrollview/

+0

Je pense que je l'ai lu et c'est bon. Mais comment affichez-vous la grille? Chaque cellule doit être sélectionnable et modifiable. Comment les atteindriez-vous? Je ne pense pas que GridView fonctionnera car il ne sera pas défilable horizontalement. –

+0

Avez-vous vu la disposition des prédicats? http://stackoverflow.com/questions/549451/line-breaking-widget-layout-for-android Vous pouvez l'utiliser avec TwoDScrollView pour votre usage. –

+0

OK. Je peux voir la disposition des prédicats à l'intérieur de TwoDScrollView. Mais trois problèmes sont là. Un gros problème est que la disposition des prédicats montre des éléments sur une seule ligne, quoi que j'aie essayé avec la largeur et la hauteur de la mise en page. Un autre problème est qu'il est si lent (10-20 sec) pour charger les 1000 éléments dans la disposition des prédicats. Le dernier problème est que je dois spécifier la taille de la disposition enfant directe de TwoDScrollView dans la mise en page XML. Cela ne va pas fonctionner dans la pratique bien sûr. Avez-vous essayé cela avant? Si oui, pouvez-vous partager votre mise en page XML? –

0

Je sais GridView n'est pas populaire à vos besoins. Mais cela nous donne toujours un moyen plus simple de créer une feuille de calcul comme l'interface utilisateur.

Comme vous avez dit, GridView lui-même est pas horizontalement et sera scrollable extrêmement lent si le nombre de contrôles dans le gridview dépasse dit 500.

Mais je pense que ce que vous voulez essayer est de fixer la taille de la gridview que affichera la zone de données rectangle donnée et écrase son événement tactile pour émuler les actions de défilement. Merci à l'adaptateur de base et d'autres techniques pour gridview, votre travail sera minime.

Bon exemple d'une telle méthode est Dennis's work

+0

Je penche aussi pour ça. –

0

psuedocode

Avoir un TableLayout dans un scrollview !!!

Comment remplir it->

For each row in spreadsheet TableRow tr = new TableRow() For each cell in row //Create a textview.// TextView trCell = new TextView() //Set TextView text, get text from spreadsheet current cell.// trCell.setText(cell.textvalue) tr.addview(trCell) } tableLayout.addView(tr) //Add tablerow to the tablelayout.// }

Depuis la table est dans un scrollview, si les lignes de table Prolonger de vue de défilement, les barres de défilement apparaissent.

Si vous avez besoin de plus d'informations, je posterai mon code exact. Et si vous ne pouvez toujours pas l'obtenir, téléchargez ma classe entière vers GitHub.

Questions connexes