SORU
23 NİSAN 2013, Salı


Android tarzı arama çubuğu

Bir resimde olduğu gibi görünüyor bir arama çubuğu stili yapmak istedim.

enter image description here

Varsayılan seekbar kullanarak böyle bir şey alacağım:

enter image description here

Çok ihtiyacım olan şey sadece rengini değiştirmek için. Ekstra stilleri ihtiyacım var. Yapmak için herhangi bir düz ileri bir yaklaşım bu ya benim özel drawable inşa etmeli miyim.?

Özel bir bina çalıştım ama yukarıda gösterildiği gibi tam bir alamadım. Özel drawable kullandıktan sonra, ben ne aşağıda gösterildiği gibi

enter image description here

Eğer özel bir inşa etmek gerekiyorsa, o zaman ilerleme çizgisi genişliği azaltmak ve şekli de nasıl tavsiye edin.

benim özel uygulama:

background_fill.xml:

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >

    <gradient
        android:angle="90"
        android:centerColor="#FF555555"
        android:endColor="#FF555555"
        android:startColor="#FF555555" />

    <corners android:radius="1dp" />

    <stroke
        android:width="1dp"
        android:color="#50999999" />
    <stroke
        android:width="1dp"
        android:color="#70555555" />

</shape>

progess_fill.xml

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >

    <gradient
        android:angle="90"
        android:centerColor="#FFB80000"
        android:endColor="#FFFF4400"
        android:startColor="#FF470000" />

    <corners android:radius="1dp" />

    <stroke
        android:width="1dp"
        android:color="#50999999" />
    <stroke
        android:width="1dp"
        android:color="#70555555" />

</shape>

progress.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@android:id/background"
        android:drawable="@drawable/background_fill"/>
    <item android:id="@android:id/progress">
        <clip android:drawable="@drawable/progress_fill" />
    </item>

</layer-list>

thumb.xml

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval" >

    <gradient
        android:angle="270"
        android:endColor="#E5492A"
        android:startColor="#E5492A" />

    <size
        android:height="20dp"
        android:width="20dp" />

</shape>

seekbar:

<SeekBar
        android:id="@ id/seekBarDistance"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="88dp"
        android:progressDrawable="@drawable/progress"
        android:thumb="@drawable/thumb" >
    </SeekBar>

CEVAP
23 NİSAN 2013, Salı


Drawables ayıklamak ve Android kaynak kodu, xml ve rengini kırmızı olarak değiştirmek istiyorum. Burada mdpi drawables için bu tamamladım nasıl örnek:

Özel red_scrubber_control.xml (res/drawable ekleyin):

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/red_scrubber_control_disabled_holo" android:state_enabled="false"/>
    <item android:drawable="@drawable/red_scrubber_control_pressed_holo" android:state_pressed="true"/>
    <item android:drawable="@drawable/red_scrubber_control_focused_holo" android:state_selected="true"/>
    <item android:drawable="@drawable/red_scrubber_control_normal_holo"/>
</selector>

Özel: red_scrubber_progress.xml

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@android:id/background"
        android:drawable="@drawable/red_scrubber_track_holo_light"/>
    <item android:id="@android:id/secondaryProgress">
        <scale
            android:drawable="@drawable/red_scrubber_secondary_holo"
            android:scaleWidth="100%" />
    </item>
    <item android:id="@android:id/progress">
        <scale
            android:drawable="@drawable/red_scrubber_primary_holo"
            android:scaleWidth="100%" />
    </item>

</layer-list>

Sonra Android kaynak kodundan gerekli drawables kopyalama from this link aldım

Bu drawables kopyalamak için hdpi, mdpi, xhdpi her biri için. Örneğin sadece mdpi kullanıyorum:

O zaman Mavi Kırmızı Photoshop kullanarak renk değişikliği:

red_scrubber_control_disabled_holo.png: red_scrubber_control_disabled_holo

red_scrubber_control_focused_holo.png: red_scrubber_control_focused_holo

red_scrubber_control_normal_holo.png: red_scrubber_control_normal_holo

red_scrubber_control_pressed_holo.png: red_scrubber_control_pressed_holo

red_scrubber_primary_holo.9.png: red_scrubber_primary_holo.9

red_scrubber_secondary_holo.9.png: red_scrubber_secondary_holo.9

red_scrubber_track_holo_light.9.png: red_scrubber_track_holo_light.9

Düzen için SeekBar ekleyin:

<SeekBar
    android:id="@ id/seekBar1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:progressDrawable="@drawable/red_scrubber_progress"
    android:thumb="@drawable/red_scrubber_control" />

Sonuç:

enter image description here

Düzenlenmiştir:

Burada farklı renkler çok daha hızlı olan unsurları oluşturmak için yardımcı olacak 19* *güzel bir kaynak. Sadece renk ve öğe seçin ve xhdpi, hdpi mdpi ve drawable oluşturmak için gerekli olacaktır.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • LinusTechTips

    LinusTechTip

    25 Kasım 2008
  • Mindy

    Mindy

    20 NİSAN 2006
  • The CGBros

    The CGBros

    20 AĞUSTOS 2011