Home / Android-Entwicklung / Das Android Arsenal – HTML

Das Android Arsenal – HTML

Berichtstabelle für Android-Projekte

TourVisio 2 Mobile

Paximum

Sejour Mobile

Screenshots

Verwendung

Schritt 1



 Repositories {
   .. 
.
  maven {url  ' https://jitpack.io ' 

 }
 }
} 

Schritt 2

Abhängigkeiten in build.gradle hinzufügen.

 Abhängigkeiten {
   Implementierung  ' com.github.barisatalay: HtmlTableBuilder: 1.0 ' 

} 

Schritt 3 (HtmlTableBuilder für benutzerdefinierte Klasse erstellen)

 HtmlTableBuilder 
19659018] new HtmlTableBuilder (getApplicationContext (), true ); tableBuilder . setNoDataText ( " No Data " ); tableBuilder . setOutOfMemoryText ( " Aufgrund zu großer Datenmengen kann der Bericht nicht angezeigt werden. Bitte versuchen Sie es mit den zutreffenderen Suchkriterien erneut. " );

4 (Tabellenkopfdaten erstellen)

 LinkedHashMap < String mdlHeaderCell>  headerInfos  =  new  LinkedHashMap <> 
 ();
headerInfos .  put ( " id "  new  mdlHeaderCell .  Builder 
 ()
   .value ( " Stok ID " 
)
   .alignment ( enmAlignment .  LeftJustify 
)
   .valueType ( enmCellValueType .  Integer 
)
   .backgroundColor ( " rot " 
)
   .textColor ( " weiß " 
)
   .width ( 110 


)
   .bauen());

headerInfos .  put ( " name "  new  mdlHeaderCell .  Builder 
 ()
  .value ( " Name " 
)
  .alignment ( enmAlignment .  LeftJustify 
)
  .valueType ( enmCellValueType .  String 
)
  .fontSize ( 25 
)
  .width ( 170 


)
  .bauen());

headerInfos .  put ( " price "  new  mdlHeaderCell .  Builder 
 ()
  .value ( " Price " 
)
  .alignment ( enmAlignment .  RightJustify 
)
  .displayFormat ( FormatSettings .  DecimalFormat 
)
  .valueType ( enmCellValueType .  Decimal 
)
  .width ( 175 


)
  .bauen());

headerInfos .  put ( " crtDate "  new  mdlHeaderCell .  Builder 
 ()
  .value ( " Erstellungsdatum " 
)
  .alignment ( enmAlignment .  LeftJustify 
)
  .displayFormat ( FormatSettings .  ShortDateFormat 
)
  .valueType ( enmCellValueType .  DateTime 
)
  .width ( 110 


)
  .bauen());
  
tableBuilder .  setHeaderInfos (headerInfos); 

Schritt 5 (Tabellenfußinformationen erstellen)

 LinkedHashMap < String mdlFooterCell> footerInfos [19459019011]  neu LinkedHashMap <> 

 ();

footerInfos .  put ( " id "  new  mdlFooterCell .  Builder 
 ()
  .type ( enmFooter .  Count 


)
  .bauen());

footerInfos .  put ( " price "  new  mdlFooterCell .  Builder 
 ()
  .type ( enmFooter .  Sum 


)
  .bauen());

tableBuilder .  setFooterInfos (footerInfos); 

Schritt 6 (Listenzeile vorbereiten)

 Liste < Bestand >  Ergebnis 
= neu [19659018] ArrayList <> (); Bestand Bestand = neu Bestand (); stock . setId ( 1 ); stock . setName ( " Pencil " ); stock . setPrice (getRandomDouble ()); stock . setCrtDate ( " 2018-07-15T22: 55: 00 " ); Ergebnis . add (stock); stock = new Stock (); stock . setId ( 2 ); stock . setName ( " Notebook " ); stock . setPrice ( new Double ( 154562.75 ); stock . setCrtDate ( " 2018-06-11T12: 32: 00 " ); Ergebnis . add (stock); stock = new Stock (); stock . setId ( 3 ); stock . setName ( " Umbrella " ); stock . setPrice (getRandomDouble ()); stock . setCrtDate ( " 2018-04-30T08: 07: 00 " ); Ergebnis . add (stock); tableBuilder . setDataSet (Ergebnis);

Schritt 7 (Zellen-, Header-Anpassung)

 tableBuilder .  setListener ( new 
 HtmlTableBuilderListener (19459019) {
  @Override 
 public  void  onDrawCell  ( int  dataIndex  mdlGridCell  cell 
 {
   Boolescher Wert  isMoneyCol  =  Zelle .  getValueType ()  ==  enmCellValueType 

;

   if  ((dataIndex %  2 )  ==  0 
) {
   cell .  setBackgroundColor (!  isMoneyCol ?  " # F2F7FF " : [1945901300]  " # B3D1B3 " 
);
  }  else  if  (! 
 isMoneyCol)
   cell .  setBackgroundColor ( " white " 
);
   else 

   cell .  setBackgroundColor ( " # C0DCC0 " 


);
 }

  @Override 
 public  void  onDrawColumnHeader  ( int  dataIndex  mdlGridCell 



 cell [19459013

 }

  @Override 
 public  void  onCalcFields  ( int  rowIndex  LinkedHashMap <String [19459013gram<19459019019>]  rowData


) {

 }
}); 

Schritt 8 (Tabelle zu WebView)

 Zeichenfolge  htmlPath  =  tableBuilder .  build ( " table. html 

);

webView .  getSettings () .  setBuiltInZoomControls ( true 
);
webView .  getSettings () .  setDisplayZoomControls ( false 
);
webView .  getSettings () .  setJavaScriptEnabled ( true 
);
webView .  getSettings () .  setJavaScriptCanOpenWindowsAutomatically ( true 

);

webView .  loadUrl ( " file: /// "  +  htmlPath); 

Kontaktieren Sie mich

Wenn Sie haben Eine bessere Idee oder ein besserer Weg zu diesem Projekt, lassen Sie es mich wissen, danke:)

E-Mail

Mein Blog

Mein Linkedin

. ​​

About AndroidWeltEditor

Check Also

MAD Skills Motion Layout: wrap-up

Posted by Chet Haase, Developer Relations Engineer We recently finished another series of MAD Skills …

Leave a Reply

Your email address will not be published. Required fields are marked *