2017-10-11 4 views
-1

나는 내가 this-레이어리스트가 제대로

triangle.xml과 같은 코드를 작성했습니다,이 일을 위해 this- image

같은 모양을해야

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

    <item> 
     <rotate 
      android:fromDegrees="45" 
      android:pivotX="-45%" 
      android:pivotY="97%" 
      android:toDegrees="45" > 
      <shape android:shape="rectangle" > 
       <solid android:color="@color/nypd_blue" /> 
      </shape> 
     </rotate> 
    </item> 

</layer-list> 

과 같은 직사각형 -

<?xml version="1.0" encoding="UTF-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <shape xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/listview_background_shape"> 
      <stroke android:width="2dp" android:color="@color/nypd_blue" /> 
      <padding android:left="2dp" 
       android:top="2dp" 
       android:right="2dp" 
       android:bottom="2dp" /> 

      <solid android:color="@color/nypd_blue" /> 
     </shape> 
    </item> 
</layer-list> 

함께 나는 배경을 설정하는 내 코드에서 배경 .XML을 사용하고 때 this-

background.xml

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item android:drawable="@drawable/blue_triangle" android:id="@+id/triangle" android:gravity="top" 
     android:top="0dp" android:bottom="0dp" android:left="0dp" android:right="0dp" 
     /> 
    <item android:drawable="@drawable/blue_rectangle" android:gravity="bottom" 
     android:height="10dp" 
     /> 
</layer-list> 

같은 XML 파일에 배치, 전체 이미지가 제대로 표시 만 사각형지고 있지 않습니다 부분이오고있다. 여기에 어떤 문제가 있습니까? 당신이 누구의 API 26.In 사실 아래에 장치에서 코드를 테스트 보인다

<LinearLayout android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
/> 
<RelativeLayout android:id="@+id/hours_spent_layout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="@dimen/width_1dp" 
     android:background="@drawable/background"> 
+0

이미지 링크가 보이지 않는 것 같습니다. – CoXier

+0

지금 사용 가능합니까? @LiJianixn – Aayushi

+0

HTTP 오류 : 503 – CoXier

답변

0

, 나는 LayerDrawable이 API 26 이하 다르게 작동하지만 해결책을 가지고 이유를 설명하는 방법을 모르겠어요.

RelativeLayout relativeLayout;// your layout 
LayerDrawable drawable = (LayerDrawable) relativeLayout.getBackground(); 
drawable.setLayerInset(1, padding, padding, padding, padding); 

"1"코드에서 "1"@drawable/blue_rectangle을 의미하며, 수동으로 패딩을 설정할 수 있습니다, 인덱스 1을 의미한다.

dp를 픽셀로 변환해야합니다.

+0

whyis 자바 코드가 필요합니까? 드로어 블을 사용하여 완료 할 수 없습니까? – Aayushi

+0

'layer-list.xml'은'LayerDrawable'으로 변환 될 것입니다. 'drawable을 사용하는 것만으로는 할 수 없습니까? '라는 의미는 무엇입니까? – CoXier

+0

drawable을 통해 padding jsut을 설정하는 방법이 있습니다. 그래서 나는 그것도 그렇게 할 수 있다고 생각했습니다 – Aayushi