Пользовательская кнопка с использованием списка слоев - PullRequest
0 голосов
/ 17 февраля 2012

Я пытаюсь сделать пользовательскую кнопку ниже, это код.Я хочу добиться градиента, углов, тени в своей кнопке, а также хочу поместить маленький значок в центре кнопки, скажем, кнопку блокировки

 <Button
        android:id="@+id/button5"
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:layout_alignBaseline="@+id/button4"
        android:layout_alignBottom="@+id/button4"
        android:layout_marginLeft="15dp"
        android:layout_toRightOf="@+id/button1"
        android:shadowColor="#000000"
        android:shadowRadius="50"
        android:background="@drawable/levelselectionbutton"/>

Я достиг градиента и углов, а также изображения в некоторой степени, ноЯ хочу, чтобы это было в центре, и если я использую гравитацию, то изображение будет увеличено и также выглядит размытым.что я должен сделать, чтобы добиться этого в центре, не получая пикселизацию. Вот код моего списка слоев

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

<item>
  <shape android:shape="rectangle" >

  <corners  android:radius="20dp"  />
  <gradient 
       android:startColor="#7F7F7F"
       android:type="linear" 
       android:endColor="#FFFF"
       android:angle="270"/>

   </shape>  
</item>
<item
    android:drawable="@drawable/ic_hh_lock"
    android:gravity="center"
 />

Как мне добиться тени еще одного элемента в списке?

1 Ответ

1 голос
/ 17 февраля 2012

Попробуйте обернуть ваше изображение в растровое изображение XML следующим образом:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
   <item>
      <shape android:shape="rectangle" >
         <corners  android:radius="20dp"  />
         <gradient 
           android:startColor="#7F7F7F"
           android:type="linear" 
           android:endColor="#FFFF"
           android:angle="270"/>
      </shape>  
   </item>
   <item>
      <bitmap 
          android:src="@drawable/ic_hh_lock"
          android:gravity="center" />
   </item>
</layer-list>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...