2013-07-10 20 views
5

Ana.xml'de Android düğmesindeki kenarlık belirtmek mümkün mü? [p.s. 'Ayrı xml dosyası içeren inme etiketi' olmadan ama çözüm ve 'resim' çözümü] 'dinamik programlama ile' buradaAndroid butonunda sınır belirtmek mümkün mü?

<Button 
    android:background="#FFFFFF" 
    android:layout_width="0dp" 
    android:layout_height="fill_parent" 
    android:text="Player 3" 
    android:layout_x="0px" 
    android:layout_y="0px" 
    android:id="@+id/p3" 
    android:layout_weight="1" 

/> 

ben değişiyorum olmadan düğmesi ve ayrıca tanımlayan özgün dosyada dinamik olarak arka plan ancak sorun, 2 düğme için sınır yok.

+0

Sen göz at, farklı düğmeler devletler için kendi seçtikleri kenarlıklı özel bir düğme yapmak için şekil seçici xml kullanabilirsiniz [ Farklı bir renk ile standart Android Düğme] (http://stackoverflow.com/q/1521640/593709) –

+0

düzen xmls düzeni vardır, grafik özellikleri için değil – njzk2

+0

@AdilSoomro, kindp hopi cevap verdiğim bir özlem olacaktı. cevap için. şekil seçici yaklaşımı ile gitmek zorunda kalabilirim. – Nyx

cevap

7

Bu, overdraw nedenine neden olduğundan ve Gunaseelan has the proper method gereksiz görünümler eklediğinden bunu yapmanın önerilen yolu bu değildir.


öznitelik olarak sınırların hiçbir kavram yoktur. Kabul edilen yol, View'un arka planı olarak kullanılabilecek şekilde ayrı bir çizim kullanmaktır (@123).

diğer (önerilmez) yolu senin bir LinearLayout gibi başka View yılında Button çok dış View üzerine enkapsüle View ve dolgu üzerinde istenen sınır renge arka plan rengini ayarlamak içine etmektir.

<LinearLayout 
    android:layout_height="wrap_content" 
    android:layout_width="match_parent" 
    android:background="#342334" 
    android:padding="5dp" 
    > 
    <Button 
     android:layout_height="wrap_content" 
     android:layout_width="match_parent" 
     android:text="whatwhaaat" 
     /> 
</LinearLayout> 

Dolguların değeri, kenarlığın kalınlığını gösterecektir. Bu yöntem, mizanpajınızda fazladan bir View ve bir başka para çekme katmanı ile sonuçlanmadığı için önerilmez (LinearLayout ve ardından Button üstünü çizer). Daha fazla bilgi için

+0

iyi, cevap için özlediğim bir özet olacağını umuyordum. – Nyx

34

deneyin

my_shape.xml

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

    <corners 
     android:bottomLeftRadius="7dp" 
     android:bottomRightRadius="7dp" 
     android:radius="0.1dp" 
     android:topLeftRadius="7dp" 
     android:topRightRadius="7dp" /> 

    <solid android:color="#FFFFFF" /> 

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

</shape> 

Ve Düğme

<Button 
    android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@drawable/my_shape" 
    android:text="Button" /> 

Ekran

enter image description here

ben t umut şekli kullanmak Onun sana yardım edecek.

+0

Merhaba, bu çok şeyden kaçınmaya çalışıyordum. – Nyx

+1

Merhaba. Kodunu kullandım ama düğmelerime hiçbir değişiklik yansıtılmıyor. Yardım edebilir misin? –

+0

AndroidStudio'nun, "şekiller" i değil, varsayılan olarak "seçiciler" oluşturduğunu unutmayın. –

0

enter image description here

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

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

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

<stroke 
    android:width="2px" 
    android:color="#486e9d" /> 

http://androiddhina.blogspot.in/2015/09/border-color-on-android-button.html

İlgili konular