2013-12-22 4 views
0

Это ява часть кодаНевозможно нарисовать линию в андроида с помощью взглядов

public class MainActivity extends Activity 
{ 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
    } 


    class surf extends View { 

     public surf(Context c,AttributeSet as) { 
      super(c,as); 
     } 

     protected void onDraw(Canvas canvas) { 
      Paint p = new Paint(); 
      p.setColor(Color.MAGENTA); 
      canvas.drawLine(20, 20,200, 20,p); 
     } 
    } 
} 

, и файл ресурсов для того же без других взглядов

<view 
    class="tictac.Tictac.MainActivity$surf" 
    android:id="@+id/graphics" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"/> 
</LinearLayout> 

Он закрывается, как только он открывается с ошибкой, я слежу за учебником на веб-сайте Android.

ответ

0

Попробуйте этот код. Здесь я добавляю собственный вид в качестве основного вида.

public class MainActivity extends Activity 
{ 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(new surf(this)); 
    } 

    class surf extends View { 

     public surf(Context c) 
     { 
      super(c); 
     } 

     public surf(Context c,AttributeSet as) { 
      super(c,as); 
     } 

     protected void onDraw(Canvas canvas) { 
      Paint p = new Paint(); 
      p.setColor(Color.MAGENTA); 
      canvas.drawLine(20, 20,200, 20,p); 
     } 
    } 
} 

Или вы можете добавить свой вид в XML

<com.my.package.MyClass 
    android:id="@+id/graphics" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"/> 
Смежные вопросы