Doğrusal Düzene Köşe Yarıçapı Nasıl Uygulanır


Yanıtlar:


278

Çekilebilir klasörde bir XML dosyası oluşturabilirsiniz. Örneğin diyelim,shape.xml

İçinde shape.xml:

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

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

    <stroke
        android:width="2dp"
        android:color="#C4CDE0" >
    </stroke>

    <padding
        android:left="5dp"
        android:top="5dp"
        android:right="5dp"
        android:bottom="5dp"    >
    </padding>

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

</shape>

<corner>Etiketi, belirli soruların içindir.

Gerekli değişiklikleri yapın.

Ve senin içinde whatever_layout_name.xml:

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:layout_margin="5dp"
    android:background="@drawable/shape"    >
</LinearLayout>

Uygulamalarımda genellikle yaptığım şey bu. Bu yardımcı olur umarım....


Bu
XML'de

1
@vignesh: Hangi çekilebilir ve nereye koyulur? <shape>Örneği kastediyorsanız, buradaki mizanpaj XML'sinde zaten ayarlanmıştır:android:background="@drawable/shape"
Siddharth Lele

3
ya bu doğrusal düzenin zaten bir arka plan görüntüsü varsa ve ben onun bir köşe yarıçapına sahip olmasını istiyorsam? linearLayout arka plan özelliği shape.xml ile ayarlandığından kodunuzda bir arka plan resmi ayarlayamayacağım
newton_guima

@MrAppleBR: Bir arka plan görüntüsü ayarlayamayacağım : Doğru. Ancak soru bağlamında, OP'nin geçerli olduğu bir kullanım durumu vardı. Bahsettiğiniz kullanım durumunda, gitmeniz gereken bu değil.
Siddharth Lele

@SiddharthLele ne için gitmeliyim? küçük bir kaynakla veya belki bir bağlantıyla açıklar mısınız? Teşekkürler!
newton_guima

11

Düzenin arka planı olarak bir Şekil Çizilebilir'i kullanırsınız ve köşe yarıçapını ayarlarsınız. Ayrıntılı bir eğitim için bu bloga bakın


8

Yerleşim

<LinearLayout 
    android:id="@+id/linearLayout"
    android:layout_width="300dp"
    android:gravity="center"
    android:layout_height="300dp"
    android:layout_centerInParent="true"
    android:background="@drawable/rounded_edge">
 </LinearLayout>

Çekilebilir klasör rounded_edge.xml

<shape 
xmlns:android="http://schemas.android.com/apk/res/android">
    <solid 
        android:color="@android:color/darker_gray">
    </solid>
    <stroke 
         android:width="0dp" 
         android:color="#424242">
    </stroke>
    <corners 
         android:topLeftRadius="100dip"
         android:topRightRadius="100dip"
         android:bottomLeftRadius="100dip"
         android:bottomRightRadius="100dip">
    </corners>
</shape>

2

Bunu, Programlı olarak yarıçaplı bir arka planı LinearLayout'a veya herhangi bir View'e ayarlamak için deneyin.

 private Drawable getDrawableWithRadius() {

    GradientDrawable gradientDrawable   =   new GradientDrawable();
    gradientDrawable.setCornerRadii(new float[]{20, 20, 20, 20, 20, 20, 20, 20});
    gradientDrawable.setColor(Color.RED);
    return gradientDrawable;
}

LinearLayout layout = new LinearLayout(this);
layout.setBackground(getDrawableWithRadius());
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.