2016-03-23 27 views
-1
<style name="MySearchViewStyle" parent="Widget.AppCompat.Light.SearchView"> 
     <item name="android:layout">@layout/custom_search_layout</item> 
    </style> 

Bunu yarattım ama nereye koyacağımı bilmiyorum. Bir resme SearchView Alt Çizgisini (araç çubuğunda) değiştirmem gerekiyor. Bunu nasıl yapacağımı bilmiyorum. bilen varsa bunu ya da referans bağlantı çok yardımcı olacağını nasıl bana yardım edin. [herhangi bir yardım Bu kesin çalışacakÖzel Arama Görünümü nasıl oluşturulur?

enter image description here

+0

Tam olarak ne yapmak istersin? 'SearchView''ün arka planını değiştirmek mi yoksa sadece alt çizgiyi kaldırmak mı istiyorsunuz? – Aks4125

+0

çekilebilir görüntü alt çizgi yerine görüntülenmelidir. – Lol

cevap

0

bu görüntü gibi xml dosyası çizmek için.

SearchView mSearchView = (SearchView)menu.findItem(R.id.search).getActionView(); try { Field searchField = SearchView.class.getDeclaredField("mSearchButton"); searchField.setAccessible(true); ImageView searchBtn = (ImageView)searchField.get(mSearchView); searchBtn.setImageResource(R.drawable.search_img); searchField = SearchView.class.getDeclaredField("mSearchPlate"); searchField.setAccessible(true); LinearLayout searchPlate = (LinearLayout)searchField.get(mSearchView); ((ImageView)searchPlate.getChildAt(0)).setImageResource(R.drawable.search_img); searchPlate.setBackgroundResource(R.drawable.edit_text_bkg); // set your custom background here } catch (NoSuchFieldException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); }

kullanımı çekilebilir bu özel arka plan -

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

<item 
    android:bottom="1dp" 
    android:left="0dp" 
    android:right="0dp" 
    android:top="-2dp"> 
    <shape android:shape="rectangle"> 
     <stroke 
      android:width="1dp" 
      android:color="#FE8059" /> 
    </shape> 
</item> 
</layer-list> 

ben test ettik ve iyi çalışıyor.

+0

Görüntü tamamen SearchView'u kapsamıyor Teşekkür ederim, Ama sadece verilen görüntü ile altını değiştirmek istiyorum. – Lol

+0

o zaman neden özel bir çekilebilen kaynak için 'setBackgroundDrawable' kullanmıyorsunuz, bakın [this] (http://stackoverflow.com/questions/19189265/custom-designing-a-edittext) – Aks4125

+0

Lütfen ekteki resmin üzerine bir göz atın , sol ve sağ vuruşlar - dikey çizgilerin sadece% 25'i görüntülenmelidir (sol ve sağ). Bunu nasıl yapacağımı bilmiyorum. İnme için gradiyeyi uygulayabilir miyiz? – Lol

İlgili konular