2016-04-27 12 views
9

geformt Ich versuche, einen benutzerdefinierten wie geformt zu machen Linearlayout unterIndividuelles Linearlayout mit gekrümmten Seiten in android

enter image description here

Ich versuche, nur eine Seite gekrümmt zu machen. Versucht mit Eckenradius, aber es gibt nicht das gleiche Aussehen wie oben.

bereits versucht, diese Hintergrundform wie folgt: -

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <solid android:color="#3F51B5" /> 

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

    <corners 
     android:bottomLeftRadius="50dp" 
     android:bottomRightRadius="50dp" 
     android:topLeftRadius="0dp" 
     android:topRightRadius="0dp" /> 
</shape> 

es rundet nur Ecken und auf den Wert Form Erhöhung nicht beibehalten wird es zu Kreis bekommt. ICH WILL gekrümmte Linie und nicht die abgerundeten Ecken

+0

Sie können Bild mit dieser gekrümmten Schatten erzeugen und als Hintergrund der 'Layout' hinzufügen können. –

+0

Ich bin mir nicht sicher, ob es auf allen Auflösungen gleich aussehen wird, also habe ich das vermieden. wird es? –

+0

Sie können Dimen für alle Auflösungen verwenden und haben es leicht gemacht. –

Antwort

-1

Sie Bild im Hintergrund anwenden können

+0

jeder link wie kann ich bild machen, damit es auf alle auflösung funktioniert? –

0

Sie die Dimension im Wert -dimension.xml fime einstellen und setzen es dann in Ihrem xml Ihrer Linearlayout wird es das geben folgende ähnliche

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle"> 
<solid 
    android:color="#FFFF00" /> 
<padding android:left="7dp" 
    android:top="7dp" 
    android:right="7dp" 
    android:bottom="7dp" /> 

nur eine xML-Datei in Ihrem ziehbar machen den dimensio setzen u müssen und es dann von Ihrem linearen Layout nennen

+0

Entschuldigung, dass ich es nicht bekommen habe, aber kannst du ein Beispiel geben? Ich bin mir nicht sicher, über welche Dimensionen du redest –

4

in ziehbar Ordner zB eine Formdatei erstellen: my_shape.xml

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle"> 
    <corners 
     android:bottomLeftRadius="100dp" 
     android:bottomRightRadius="100dp" 
     android:topLeftRadius="0dp" 
     android:topRightRadius="0dp" /> 
    <padding 
     android:bottom="0dp" 
     android:left="0dp" 
     android:right="0dp" 
     android:top="0dp" /> 
    <stroke 
     android:width="0.5dp" 
     android:color="@color/theme_red" /> 
    <solid android:color="@color/white" /> 
</shape> 

dann fügen Sie diese Form in Ihrem Layout als Hintergrund hinzu. z:

<LinearLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@drawable/my_shape" 
    android:orientation="horizontal">    
</LinearLayout> 
+0

wie ich sagte, ich versuchte Radius hinzuzufügen.es sieht nicht wie die Form im Bild aus. Ich möchte Linie gekrümmt sein –

+0

Ich denke, Sie sollten mit Hintergrundbild gehen. Zuerst entwerfen Sie ein Bild als Ihre Anforderung. dann verwenden Sie es als Hintergrund in Ihrem Layout – Masum

+0

Ja, können Sie vorschlagen, eine Auflösung zu beginnen, die auf allen Geräten gleich aussehen wird? –

3

was tat i erstellen ziehbar allowaccess_button_normal.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item> 
     <shape android:shape="oval"> 
      <solid android:color="@color/colorPrimary"/> 
     </shape> 
    </item> 

</selector> 

Versuchen unter Layout

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:background="#fefefe" 
    android:layout_height="match_parent"> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:background="@color/colorPrimary" 
     android:layout_height="110dp"> 
    </RelativeLayout> 

    <ImageView 
     android:layout_marginTop="85dp" 
     android:src="@drawable/allowaccess_button_normal" 
     android:layout_width="match_parent" 
     android:layout_height="50dp" /> 


</RelativeLayout> 

enter image description here

1
<layer-lisxmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:top="175dp"> 

    <shape android:shape="oval"> 

    <gradient 
     android:angle="135" 
     android:startColor="#f56f2c" 
     android:endColor="#fa9f46"/> 

    </shape> 
    </item> 


    <item android:bottom="40dp"> 

    <shape android:shape="rectangle"> 

    <gradient 
     android:angle="135" 
     android:startColor="#f56f2c" 
     android:endColor="#fa9f46"/> 

    </shape> 
</item> 
</layer-list> 
0

Es ist schon sehr spät, aber dies ist für zukünftige Suchende. Ich denke, vector drawables sind die perfekte Lösung dafür. Verwenden Sie den folgenden Vektor as background, um benutzerdefinierte geformte unteren gekrümmten Layout zu erhalten.

<vector xmlns:android="http://schemas.android.com/apk/res/android" 
android:width="24dp" 
android:height="24dp" 
android:viewportHeight="100.0" 
android:viewportWidth="200.0"> 
<path 
    android:fillColor="#YOUR_FAVORITE_COLOR" 
    android:pathData="M200,0H0v4.5h0v75.8h0c17.8,10.2 56,17.2 100.5,17.2c44.5,0 81.6,-7 99.5,-17.2h0V4.5h0V0z" /> 

Verwandte Themen