Büyük bir düzenim var ve içinde daha küçük bir düzen var.
Küçük yerleşim planının etrafında nasıl çizgi kenarlığı oluşturabilirim?
Büyük bir düzenim var ve içinde daha küçük bir düzen var.
Küçük yerleşim planının etrafında nasıl çizgi kenarlığı oluşturabilirim?
Yanıtlar:
Elbette. İstediğiniz herhangi bir düzene bir sınır ekleyebilirsiniz. Temel olarak, özel bir çekilebilirlik oluşturmanız ve bunu düzeninize arka plan olarak eklemeniz gerekir. misal:
customborder.xml
Çekilebilir klasörünüzde adlı bir dosya oluşturun :
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<corners android:radius="20dp"/>
<padding android:left="10dp" android:right="10dp" android:top="10dp" android:bottom="10dp"/>
<stroke android:width="1dp" android:color="#CCCCCC"/>
</shape>
Şimdi bunu daha küçük düzeninize arka plan olarak uygulayın:
<LinearLayout android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/customborder">
Bu hile yapmalı.
Ayrıca bkz:
<solid/>
ve <stroke/>
tüm dikdörtgeni doldursun mu? Bu kodumdaki bir hata mı?
Aşağıdaki gibi çekilebilir klasörde border.xml adlı XML oluşturun:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="#FF0000" />
</shape>
</item>
<item android:left="5dp" android:right="5dp" android:top="5dp" >
<shape android:shape="rectangle">
<solid android:color="#000000" />
</shape>
</item>
</layer-list>
sonra bunu doğrusal düzene aşağıdaki gibi arka plan olarak ekleyin:
android:background="@drawable/border"
Bunu dene:
Örneğin, res / drawable / my_custom_background.xml dosyasını şu şekilde tanımlayalım:
(bu düzeni çekilebilir klasörünüzde oluşturun) layout_border.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<stroke android:width="2dp" android:height="2dp"
android:color="#FF0000" />
<solid android:color="#000000" />
<padding android:left="1dp" android:top="1dp" android:right="1dp"
android:bottom="1dp" />
<corners android:radius="1dp" android:bottomRightRadius="5dp"
android:bottomLeftRadius="0dp" android:topLeftRadius="5dp"
android:topRightRadius="0dp" />
</shape>
</item>
</layer-list>
main.xml
<LinearLayout
android:layout_gravity="center"
android:layout_width="200dp"
android:layout_height="200dp"
android:background="@drawable/layout_border" />
</LinearLayout>
Çekilebilir klasörde bir xml dosyası oluşturun
<stroke
android:width="2dp"
android:color="#B40404" />
<padding
android:bottom="5dp"
android:left="5dp"
android:right="5dp"
android:top="5dp" />
<corners android:radius="4dp" />
Şimdi bu xml'yi küçük düzen arka planınıza çağırın
robot: arka plan = "@ çekilebilir / yourxml"
Bu çözüm yalnızca sınırı ekleyecek, LinearLayout'un gövdesi şeffaf olacaktır.
İlk olarak, çekilebilir klasörde bu kenarlık çekilebilirini oluşturun, border.xml
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android= "http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke android:width="2dp" android:color="#ec0606"/>
<corners android:radius="10dp"/>
</shape>
Ardından, LinearLayout Görünümünüzde, border.xml'yi aşağıdaki gibi arka plan olarak ekleyin
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/border">
Pragmatik olarak da yapabilirsiniz
GradientDrawable gradientDrawable=new GradientDrawable();
gradientDrawable.setStroke(4,getResources().getColor(R.color.line_Input));
Ardından mizanpajın arka planını şu şekilde ayarlayın:
LinearLayout layout = (LinearLayout ) findViewById(R.id.ayout); layout .setBackground(gradientDrawable);
Diğer cevaplara Android dokümanları bağlantısı ekleyeceğim.
https://developer.android.com/guide/topics/resources/drawable-resource.html#Shape
Şekil Çizilebilir'in tüm niteliklerini ve stroke
bunların arasında kenarlığı ayarlamak için tanımlar .
Misal:
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<stroke android:width="1dp" android:color="#F00"/>
<solid android:color="#0000"/>
</shape>
Saydam arka plan ile kırmızı sınır.
Çekilebilir bir kaynak oluşturmak istemiyor musunuz?
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/black"
android:minHeight="128dp">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="1dp"
android:background="@android:color/white">
<TextView ... />
</FrameLayout>
</FrameLayout>
Bunu resminizde / çekilebilirinizde deneyin
<?xml version="1.0" encoding="UTF-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape
android:shape="rectangle">
<padding android:left="15dp"
android:right="15dp"
android:top="15dp"
android:bottom="15dp"/>
<stroke android:width="10dp"
android:color="@color/colorPrimary"/>
</shape>
</item><item android:left="-5dp"
android:right="-5dp"
android:top="-5dp"
android:bottom="-5dp">
<shape android:shape="rectangle">
<solid android:color="@color/background" />
</shape></item></layer-list>