2011-04-13 14 views
6

Verilen çerçeveyi kullanmak istemiyorum Tercihler yerine, benzeyen bir Liste Görünümü oluşturmak istiyorum. Özellikle, TextViews için aynı yazı tipi boyutunu ve stilini kullanmak isterim.Android: Tercihler'e benzeyen bir ListView nasıl oluşturulur?

+0

Bu, hangi çerçeveden bahsedeceğinize bağlı olacaktır. Her bir satıcının, diğerlerinden ayırmak için özel tweaks vardır. Settings.apk'ı her zaman fw'nizden yakalayabilir, apk yöneticisi ile derleyin ve bir fikir edinmek için xmls'e dalın. – Aleadam

cevap

9

Bu ListView kendisi hakkında değil de etkinlik etiketine Bu özellik ekle deneyin ziyade ListView içinde görünür çocuk görünümleri. Bağdaştırıcınızın getView yöntemiyle oluşturulur.

Android'e benzer görünümler oluşturmak için, Android kaynak kodunu, özellikle de ilgili XML dosya düzenlerini kullanabilirsiniz. Örneğin, preference.xml şuna benzer:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:minHeight="?android:attr/listPreferredItemHeight" 
    android:gravity="center_vertical" 
    android:paddingRight="?android:attr/scrollbarSize"> 

    <RelativeLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="15dip" 
     android:layout_marginRight="6dip" 
     android:layout_marginTop="6dip" 
     android:layout_marginBottom="6dip" 
     android:layout_weight="1"> 

     <TextView android:id="@+android:id/title" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:singleLine="true" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:ellipsize="marquee" 
      android:fadingEdge="horizontal" /> 

     <TextView android:id="@+android:id/summary" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@android:id/title" 
      android:layout_alignLeft="@android:id/title" 
      android:textAppearance="?android:attr/textAppearanceSmall" 
      android:maxLines="4" /> 

    </RelativeLayout> 

    <!-- Preference should place its actual preference widget here. --> 
    <LinearLayout android:id="@+android:id/widget_frame" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:gravity="center_vertical" 
     android:orientation="vertical" /> 

</LinearLayout> 

Kullanılan sabitler bazı Android'e özel olarak, bu içeriği doğrudan kullanmak mümkün olmayacaktır ve ayrıca diğer aşağı kazmak gerekir xml en. Her durumda, Android tercihlerinin farklı Android sürümlerinde ve farklı temalarda farklı göründüğünü göz önünde bulundurmalısınız. Bu nedenle, Android tarafından sağlanan sabitleri kullandığınızdan emin olun. Liste görünümü öğeleriniz Android tarafından sağlanan gerçek tercihlere benziyor.

+0

Teşekkür ederim, bu tam olarak aradığım şey. – ab11

+0

Bu dosya (preference.xml) ve Android kaynak kodunda bulunan ilgili tercih düzeni dosyaları nerede? Düzenleme: Kendime cevap verin, SDK klasöründe daha iyi arama yapın: '\ sdk \ platforms \ android-19 \ data \ res \ layout' (" tercih "ile başlayan dosyalar). – cprcrack

1

sizin AndroidManifest.xml

android:theme="@android:style/Preference.PreferenceScreen" 
+1

Bu bana bir hata veriyor: 'Kaynak kamu değil ' – Sam

İlgili konular