2014-06-26 35 views
7

Şu anda bir bölüm başlığı olmadan bir TableView yapmaya çalışıyorum Xamarin.Forms kullanıyorum. Şu anda iOS numaralı telefonda bölüm başlığı görünmüyor veya tıklanabilir görünmüyor, ancak Android numaralı dosyada boşluk görünüyor, görünür ve tıklanabilir.Android içinde TableView bölüm başlığı boş ve tıklanabilir

xaml in bu http://forums.xamarin.com/discussion/18037/tablesection-w-out-header

Kod denedim -

<TableView> 
    <TableView.Root> 
     <TableSection> 
     <TextCell Text="Login" Command="{Binding Login}" /> 
     <TextCell Text="Sign Up" Command="{Binding SignUp}" /> 
     <TextCell Text="About" Command="{Binding About}"/> 
     </TableSection> 
    </TableView.Root> 
    </TableView> 

Kod

Content = new TableView 
{ 
    Root = new TableRoot 
    { 
     new TableSection() 
     { 
      new TextCell { Text="Login", Command = Login }, 
      new TextCell { Text="Sign Up", Command = SignUp }, 
      new TextCell { Text="About", Command = About }, 
     }, 
    }, 
}; 

cevap

7

C# Android'de başlığını bastırmak için, özel bir renderer kullanır. Text boşsa, tüm çocukları çıkararak, yüksekliği azaltarak ve tüm dolguları kaldırarak hücreyi gizler.

[assembly: ExportRenderer(typeof(TextCell), typeof(ImprovedTextCellRenderer))] 

namespace YourSolution.Android 
{ 
    public class ImprovedTextCellRenderer : TextCellRenderer 
    { 
     protected override global::Android.Views.View GetCellCore(Cell item, global::Android.Views.View convertView, ViewGroup parent, Context context) 
     { 
      var view = base.GetCellCore(item, convertView, parent, context) as ViewGroup; 
      if (String.IsNullOrEmpty((item as TextCell).Text)) { 
       view.Visibility = ViewStates.Gone; 
       while (view.ChildCount > 0) 
        view.RemoveViewAt(0); 
       view.SetMinimumHeight(0); 
       view.SetPadding(0, 0, 0, 0); 
      } 
      return view; 
     } 
    } 
} 

Sadece bu sınıfı bir yerde Android projenize kopyalayın ve iyi olmalısınız.

+0

Çalışıldı Harika, Teşekkürler Falko – meetsankar

+0

@Falko, TableView'de kaç satır var? Bu çözümü TableView'ime uyguladığımda, henüz görünmeyen bazı satırların boş içeriği var. –

+0

WinPhone için oluşturucu nasıl oluşturabiliriz? – AEMLoviji

İlgili konular