10 ответов:
Я знаю, что на этот вопрос уже был дан ответ, но я хочу, чтобы вы знали, что я нашел
drawableonAndroid Studioэто очень похоже на фотографии, которые у вас есть в вопросе: Взгляните на это:android:background="@drawable/abc_menu_dropdown_panel_holo_light"это выглядит так:
надеюсь, что это будет полезно
Edit
опция выше предназначена для более старых версий
Android Studioтак что вы можете не найти его. Для более новых версии:android:background="@android:drawable/dialog_holo_light_frame"кроме того, если вы хотите иметь свою собственную форму, я предлагаю использовать программное обеспечение для рисования, как
Photoshopи нарисовать его.
не забудьте сохранить его как (например:
my_background.9.png)читать документацию: Draw 9-patch
Edit 2
еще лучше и менее трудолюбивое решение-использовать
CardViewи setapp:cardPreventCornerOverlap="false"для предотвращения виды для перекрытия границ:<android.support.v7.widget.CardView android:id="@+id/card_view" android:layout_width="match_parent" android:layout_height="wrap_content" app:cardCornerRadius="2dp" app:cardElevation="2dp" app:cardPreventCornerOverlap="false" app:contentPadding="0dp"> <!-- your layout stuff here --> </android.support.v7.widget.CardView>также убедитесь, что вы включили последнюю версию в
build.gradleтокcompile 'com.android.support:cardview-v7:26.0.0'
Я использую Android Studio 0.8.6 и я не мог найти:
android:background="@drawable/abc_menu_dropdown_panel_holo_light"Так что я нашел это:
android:background="@android:drawable/dialog_holo_light_frame"и выглядит это так:
создать card_background.xml в папке res / drawable со следующим кодом:
<?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="#BDBDBD"/> <corners android:radius="5dp"/> </shape> </item> <item android:left="0dp" android:right="0dp" android:top="0dp" android:bottom="2dp"> <shape android:shape="rectangle"> <solid android:color="#ffffff"/> <corners android:radius="5dp"/> </shape> </item> </layer-list>затем добавьте следующий код к элементу, к которому вы хотите карту разметки
android:background="@drawable/card_background"следующая строка определяет цвет тени для карты
<solid android:color="#BDBDBD"/>
CardView дает правда тень в android 5+ и он имеет библиотеку поддержки. Просто оберните свой взгляд с ним, и все готово.
<android.support.v7.widget.CardView> <MyLayout> </android.support.v7.widget.CardView>это требует следующей зависимости.
dependencies { ... compile 'com.android.support:cardview-v7:21.0.+' }
положить фон
@android:drawable/dialog_holo_light_frame, дает тень, но вы не можете изменить цвет фона или стиль границы, поэтому лучше воспользоваться его тенью, в то время как все еще можете поместить фон через layer-list<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!--the shadow comes from here--> <item android:bottom="0dp" android:drawable="@android:drawable/dialog_holo_light_frame" android:left="0dp" android:right="0dp" android:top="0dp"> </item> <item android:bottom="0dp" android:left="0dp" android:right="0dp" android:top="0dp"> <!--whatever you want in the background, here i preferred solid white --> <shape android:shape="rectangle"> <solid android:color="@android:color/white" /> </shape> </item> </layer-list>сохраните его в папке drawable под say
shadow.xmlчтобы назначить его представлению, в файле макета xml установите его фон
android:background="@drawable/shadow"
используйте свойство elevation для достижения эффекта тени:
<View ... android:elevation="2dp"/>Это только для использования после v21, проверьте эту ссылку:http://developer.android.com/training/material/shadows-clipping.html
Это может быть поздно, но для тех, кто все еще ищет ответ на этот вопрос, я нашел проект на Git hub, и это единственный, который действительно соответствует моим потребностям. android-materialshadowninepatch
просто добавьте эту строку в свою сборку.gradle dependency
compile 'com.h6ah4i.android.materialshadowninepatch:materialshadowninepatch:0.6.3'ура. большой палец вверх для создателя ! happycodings
Если вам нужно правильно применить тени, то вы должны сделать следующее.
рассмотрим этот вид, определенный с фоном drawable:
<TextView android:id="@+id/myview" ... android:elevation="2dp" android:background="@drawable/myrect" />рисуемый фон определяется как прямоугольник с закругленными углами:
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="#42000000" /> <corners android:radius="5dp" /> </shape>это рекомендуемый способ применения теней проверить это https://developer.android.com/training/material/shadows-clipping.html#Shadows
используйте эту форму в качестве фона :
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@android:drawable/dialog_holo_light_frame"/> <item> <shape android:shape="rectangle"> <corners android:radius="1dp" /> <solid android:color="@color/gray_200" /> </shape> </item> </layer-list>





Comments