2013-02-24 2 views
1

내가 onCreate() 방법안드로이드 사용자 정의보기

public void onCreate(Bundle savedInstanceState)  
{  
     super.onCreate(savedInstanceState);  
     setContentView(R.layout.main);  
     circleView = (CircleView)findViewById(R.id.circleView);  
     circleView.setCircle(100, 100, 25);  
     circleView.wrapView();  
}  

및 사용자 정의보기에 사용자 정의보기를 다시 그리기 위해 노력하고 있어요 다시 그리기 것은 단지

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:id="@+id/layoutMain" 
    > 

    <com.pep1439.view.CircleView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/circleView" /> 

</RelativeLayout> 

전 서클의 크기를 조정하려고했지만 실패했습니다. 반경이있는 원을 그리도록 도와주세요. 어떻게하는지. 기본 값을 사용하면 잘 작동합니다. circleView.setCircle(100, 100, 25); 줄을 제거하면 원이 그려집니다. 런타임에 원을 조정하고 싶습니다. 덕분에 .

답변

1

xy에서 100까지 반경을 25으로 설정합니다. 그런 다음보기 크기를 radius*2, 즉 50으로 변경하므로 결국 50x50보기의 위치에 100,100에 반경 25의 원이 그려집니다. 다른 말로하면 : 당신의 시야 밖에서 원을 그립니다..

+0

감사합니다. 이제 나는 내가 뭘 망쳤는지 알아 냈습니다. – pep1439

+0

@Ridcully 내부의 영역은 픽셀 수/dip입니다. 사용자 정의 고정 값이 있습니까? 너비 및 높이보기 – Nepster

+0

보기의 크기는 android : layout_width 및 android : layout_height에 의해 지정됩니다. 값 'wrap_content'를 사용하면 원하는 크기에 대해 알려주는 것은보기 자체에 달려 있습니다. 이것은 getIntrinsicWidth() 및 getIntrinsicHeight()를 구현하여 수행됩니다. 레이아웃에 의해 아이가 배치 될 때, 뷰를 작성하는 사이즈를 알기 위해서 그러한 메소드를 호출합니다. – Ridcully

관련 문제