2010-11-10 15 views
65

Uygulamamı yapılandırmak için bir etkinlik yapıyorum ve yapılandırma penceremin bölümlerini bir çizgi ile bölmek zorundayım. Bu örnekten, divider_horizontal_bright: bunu kullandımMetni düzenleme etkinliğinin bir yatay bölme çizgisi arasına yerleştirme

http://android.cryx.li/doku.php?id=know:settings:start

Ancak çalışmıyor! Android telefonumu test ettiğimde, yatay bir çizgi göstermiyor. Niye ya? hile yapmak gerekir ben Android 2.1

cevap

119

bu bağlantıyı deneyin kullanıyorum

.... horizontal rule

.

Aşağıdaki kod xml'dir.

<View 
    android:layout_width="fill_parent" 
    android:layout_height="2dip" 
    android:background="#FF00FF00" /> 
+0

seveceksiniz "göstermek/görüntülemek için bazı göreceli. – gnganpath

+0

çalışıyor Sadece harika! Çeşitli yöntemler denedim. Bu en iyi çalışır! –

136

bu işe yaramadıysa:

<View 
    android:layout_width="fill_parent" 
    android:layout_height="1dip" 
    android:background="#000000" /> 
+9

+1, yalnızca öznitelikleri değil, Android'in kendi bölücü çekilebilirliğini kullanan ImageView örneği için tam Görünüm örneğini sağlamak için +1. Sistem/tema tarafından sağlanan stili kullandığı için ImageView tercih edilir. – spaaarky21

+0

Her ikisini de sağlamak için mükemmel çözüm. Resim Sürümü 'çubuk' görüntülemedi, bu yüzden Görünüm sürümüne gittim. – TheIcemanCometh

+2

Harika cevap! Sadece bir not: muhtemelen ImageView çözüm çalışması yapmak için 'android: scaleType = "fitXY" 'yi eklemesi gerekiyor (belki de bu sadece yeni Android sürümleri için gerekli midir?) –

4

Nasıl kendi görünümünüzü tanımlama hakkında:

<ImageView 
    android:layout_gravity="center_horizontal" 
    android:paddingTop="10px" 
    android:paddingBottom="5px" 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent" 
    android:src="@android:drawable/divider_horizontal_bright" /> 

bu ham Görünüm deneyin? Arka plan rengini ayarlanmış bir görünümün etrafında bir LinearLayout kullanarak aşağıdaki sınıfı kullanmıştım. Bu, bunun için düzen parametrelerini önceden tanımlamamı sağlar. Buna ihtiyacınız yoksa Görünüm'ü genişletin ve bunun yerine arka plan rengini ayarlayın.

public class HorizontalRulerView extends LinearLayout { 

    static final int COLOR = Color.DKGRAY; 
    static final int HEIGHT = 2; 
    static final int VERTICAL_MARGIN = 10; 
    static final int HORIZONTAL_MARGIN = 5; 
    static final int TOP_MARGIN = VERTICAL_MARGIN; 
    static final int BOTTOM_MARGIN = VERTICAL_MARGIN; 
    static final int LEFT_MARGIN = HORIZONTAL_MARGIN; 
    static final int RIGHT_MARGIN = HORIZONTAL_MARGIN; 

    public HorizontalRulerView(Context context) { 
     this(context, null); 
    } 

    public HorizontalRulerView(Context context, AttributeSet attrs) { 
     this(context, attrs, android.R.attr.textViewStyle); 
    } 

    public HorizontalRulerView(Context context, AttributeSet attrs, int defStyle) { 
     super(context, attrs, defStyle); 
     setOrientation(VERTICAL); 
     View v = new View(context); 
     v.setBackgroundColor(COLOR); 
     LayoutParams lp = new LayoutParams(
      LayoutParams.MATCH_PARENT, 
      HEIGHT 
     ); 
     lp.topMargin = TOP_MARGIN; 
     lp.bottomMargin = BOTTOM_MARGIN; 
     lp.leftMargin = LEFT_MARGIN; 
     lp.rightMargin = RIGHT_MARGIN; 
     addView(v, lp); 
    } 

} 

programlı veya Eclipse günlerde kullan (Özel & Kütüphane Görünümler - Sadece düzeni içine çekin). layout_above = "+ id/imageView2:

6

sadece bir satır için,

... 
<View android:id="@+id/primerdivisor" 
android:layout_height="2dp" 
android:layout_width="fill_parent" 
android:background="#ffffff" /> 
... 
0

kullanın Bu ihtiyaç ..... Bu line-> android eklemek o

<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="1px" 
    android:text=" " 
    android:background="#anycolor" 
    android:id="@+id/textView"/> 
İlgili konular