2016-10-14 11 views
7

半円の背景を作成しようとしていますが、development IDE previewで動作しますが、エミュレータで起動すると動作しません。ここで半円形がうまく動作しません

enter image description here

自分の形状コードです:

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:height="50dp"> 
     <shape> 
      <solid android:color="@color/colorAccentDark" /> 
     </shape> 
    </item> 
    <item android:top="-500dp" android:bottom="0dp" android:left="-100dp" android:right="-100dp"> 
     <shape> 
      <corners android:radius="500dp" /> 
      <solid android:color="@color/colorAccentDark" /> 
     </shape> 
    </item> 
</layer-list> 

そして、ここでは私のレイアウトのコードは次のとおりです。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@drawable/background_profile" 
     android:layout_weight="1"> 

     <de.hdodenhof.circleimageview.CircleImageView 
      android:id="@+id/profile_avatar" 
      android:layout_width="100dp" 
      android:layout_height="100dp" 
      android:src="@drawable/ic_default_avatar" 
      android:layout_centerHorizontal="true" 
      android:layout_marginTop="50dp"/> 

     <TextView 
      android:id="@+id/profile_name" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerHorizontal="true" 
      android:layout_below="@id/profile_avatar" 
      android:layout_marginTop="20dp" 
      android:textColor="@color/neutralWhite" 
      android:textStyle="bold" 
      android:textSize="18sp" 
      android:text="Avatar Ang"/> 

    </RelativeLayout> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="4.04"> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Hello Android!"/> 

    </RelativeLayout> 

</LinearLayout> 

多分それを処理するために、他の微調整? ありがとう

答えて

5

xmlから半円を作成することはできません。適切なマージンの円を使用してあなたが探しているものを達成することができます&パディング。

円の形の.xmlファイルを使用できます。あなたはこれを試すことができ

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
     android:shape="oval" 
     android:useLevel="false" > 
    <solid android:color="#006AC5" /> 
    <size 
    android:height="50dp" 
    android:width="50dp" /> 
</shape> 

enter image description here

+1

うわー今すぐ使えます! :Dありがとう – fanjavaid

+0

この完全な円 –

+0

@ HardikJoshiは私の答えを完全に読んだ 'あなたはxmlから半円を作ることはできません。適切なマージンとパディングを持つサークルを使用して、あなたが探しているものを達成することができます。 – Gattsu

19

例: は、このような固定サイズの円を作成します

<?xml version="1.0" encoding="utf-8"?> 
<shape 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <solid android:color="#900021df"/> 
    <size 
     android:width="10dp" 
     android:height="5dp"/> 
    <corners 
     android:bottomLeftRadius="20dp" 
     android:bottomRightRadius="20dp"/> 
</shape> 

それは、この形状を与える:

+0

あなたは私の人生を救った。ありがとう。 – JohnWatsonDev

2

これを試してください。グラデーション部分を削除すると、同じように見えます。

<item> 
    <shape xmlns:android="http://schemas.android.com/apk/res/android" 
     android:shape="rectangle"> 
     <solid android:color="#00B0EA" /> 

    </shape> 
</item> 
<item 
    android:bottom="400dp" 
    android:left="-100dp" 
    android:right="-100dp" 
    android:top="-200dp"> 
    <shape xmlns:android="http://schemas.android.com/apk/res/android" 
     android:shape="oval"> 
     <gradient 
      android:angle="90" 
      android:endColor="#65FFFFFF" 
      android:startColor="#65FFFFFF" /> 
    </shape> 
</item> 
<item 
    android:bottom="402dp" 
    android:left="-100dp" 

    android:right="-100dp" 
    android:top="-280dp"> 
    <shape xmlns:android="http://schemas.android.com/apk/res/android" 
     android:shape="oval"> 
     <solid android:color="#FFFFFF" /> 
    </shape> 
</item> 

enter image description here

7

curve_toolbar_bg.xml

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <shape android:shape="rectangle"/> 
    </item> 
    <item 
     android:bottom="0dp" 
     android:left="-100dp" 
     android:right="-100dp" 
     android:top="-80dp"> 
     <shape android:shape="oval"> 
      <solid android:color="@color/colorPrimary" /> 
     </shape> 
    </item> 
</layer-list> 

activity_main.xml

<?xml version="1.0" encoding="utf-8"?> 
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/container" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="0dp" 
     android:layout_height="?android:attr/actionBarSize" 
     android:background="@drawable/rounded_corner" 
     app:layout_constraintBottom_toBottomOf="parent" 
     app:layout_constraintEnd_toEndOf="parent" 
     app:layout_constraintStart_toStartOf="parent" 
     app:layout_constraintTop_toTopOf="parent" 
     app:layout_constraintVertical_bias="0.0"> 

    </android.support.v7.widget.Toolbar> 
</android.support.constraint.ConstraintLayout> 

Curve shape toolbar

+0

ありがとうございます。私の時間を節約してください。 – dipali

関連する問題