2016-08-22 4 views
0

This is what i wantWie mache ich ein Rechteck mit oberen und unteren Schatten in Android mit Layer-Liste?

Ich brauche ein gelbes Rechteck mit Schatten oben und unten, wie im Bild gegeben, wie ich diese mit Layer-Liste zurückgreifen kann, habe ich keine Ahnung, wie dies zu tun, vor allem die Schatten, wie man erreichen, dass gestalten?

+0

Verwenden Sie 'RotateDrawable' als eine untere Schicht – pskink

+0

http://StackOverflow.com/Questions/15333529/How-to-provide-shadow-to-button kann es Ihnen helfen. – KrishnaJ

Antwort

2

Mit einem layer-list scheint die beste Option. Sie benötigen zwei Rechtecke, das Hauptgelb und ein anderes für den Schatten. Sie können das Schattenrechteck dann ein wenig drehen, um den gewünschten Effekt zu erzielen.

Zum Beispiel:

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:top="20dp" android:left="20dp" android:bottom="20dp" android:right="20dp"> 
     <rotate 
      android:fromDegrees="-5" 
      android:toDegrees="-5" 
      android:pivotX="50%" 
      android:pivotY="50%"> 
      <shape android:shape="rectangle"> 
       <size android:width="300dp" 
        android:height="150dp"/> 
       <solid android:color="#999999"/> 
      </shape> 
     </rotate> 
    </item> 

    <item android:top="20dp" android:left="20dp" android:bottom="20dp" android:right="20dp"> 
     <shape android:shape="rectangle"> 
      <size android:width="300dp" 
       android:height="150dp"/> 
      <solid android:color="#FFDD66"/> 
     </shape> 
    </item> 
</layer-list> 

Wenn Sie die Schatten kleiner zu machen brauchen, wie Sie in einem Kommentar sagte, können Sie das Rechteck nach unten skalieren. Sie können dies entweder tun, indem Sie es zunächst verkleinern (die Breite und Höhe) oder <scale> ... </scale> Tags verwenden. Here's a related SO question.

+0

Wow, das ist cool, aber das graue Rechteck ist sogar auf der linken und rechten Seite sichtbar, wie kann man das entfernen? –

+0

Sie können die Rotation in '≤scale> ...' Tags einschließen, um es ein bisschen kleiner zu machen. Antwort aktualisieren –

Verwandte Themen