This Android Program demonstrates Views using Java.
Here is source code of the Program demonstrates Views in Android. The program is successfully compiled and run on a Windows system using Eclipse Ide. The program output is also shown below.
There may be many times where instead of using android custom view u would require to create your own view. Creating new Views gives you the power to fundamentally shape the way your applications look and feel. By creating your own controls, you can create UIs that are uniquely suited to your needs. To create new controls from a blank canvas, you extend either the View or SurfaceView class. The View class provides a Canvas object with a series of draw methods and Paint classes. Use them to create a visual interface with bitmaps and raster graphics. You can then override user events, including screen touches or key presses to provide interactivity.This class teaches u to create your own view by extending from the View class in android.
Main Activity
package com.example.paintapp; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.widget.Button; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button start = (Button)findViewById(R.id.button1); start.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub startActivity(new Intent("com.example.paintapp.paint")); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override protected void onPause() { // TODO Auto-generated method stub super.onPause(); finish(); } }
Paint
package com.example.paintapp; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class paint extends Activity implements OnClickListener { paint_draw var; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.paint); Button red = (Button) findViewById(R.id.red); Button blue = (Button) findViewById(R.id.blue); Button black = (Button) findViewById(R.id.black); red.setOnClickListener(this); blue.setOnClickListener(this); black.setOnClickListener(this); } @Override public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.black: startActivity(new Intent("com.example.paintapp.black_rect")); break; case R.id.blue: startActivity(new Intent("com.example.paintapp.blue_rect")); break; case R.id.red: startActivity(new Intent("com.example.paintapp.red_rect")); break; } } }
Black_rect
package com.example.paintapp; import android.app.Activity; import android.os.Bundle; public class black_rect extends Activity{ paint_draw var; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); var = new paint_draw(this); var.method("black"); setContentView(var); } }
Paint_draw
package com.example.paintapp; import org.apache.http.client.CircularRedirectException; import android.annotation.SuppressLint; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Rect; import android.view.View; public class paint_draw extends View{ String color,shape; Paint blue =new Paint(); public paint_draw(Context context) { super(context); // TODO Auto-generated constructor stub } public void method(String color){ if(color=="blue"){ blue.setColor(Color.BLUE); } if(color=="red"){ blue.setColor(Color.RED); } if(color=="black"){ blue.setColor(Color.BLACK); } } @SuppressLint("DrawAllocation") @Override protected void onDraw(Canvas canvas) { // TODO Auto-generated method stub super.onDraw(canvas); Rect myrect = new Rect(0, 0, canvas.getWidth(), canvas.getHeight()/2); blue.setStyle(Paint.Style.FILL); canvas.drawRect(myrect, blue); } }
Blue_rect
package com.example.paintapp; import android.app.Activity; import android.os.Bundle; public class blue_rect extends Activity{ paint_draw var; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); var = new paint_draw(this); var.method("red"); setContentView(var); } }
Red_rect
package com.example.paintapp; import android.app.Activity; import android.os.Bundle; public class red_rect extends Activity { paint_draw var; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); var = new paint_draw(this); var.method("red"); setContentView(var); } }
Xml
Main
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <Button android:id="@+id/button1" android:layout_width="match_parent" android:layout_height="80dp" android:layout_centerHorizontal="true" android:layout_marginTop="190dp" android:text="Start Paint Activity" android:textDirection="ltr" android:textAlignment="center" android:textSize="20dp"/> </RelativeLayout>
Paint
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="66dp" android:text="Choose an Option" android:textSize="40dp" android:textAppearance="?android:attr/textAppearanceLarge" /> <Button android:id="@+id/red" android:layout_marginTop="80dp" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Red" /> <Button android:id="@+id/blue" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Blue" /> <Button android:id="@+id/black" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Black" /> </LinearLayout>
AndroidManifest
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.paintapp" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="17" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.paintapp.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.example.paintapp.paint" android:label="@string/app_name" > <intent-filter> <action android:name="com.example.paintapp.paint" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <activity android:name="com.example.paintapp.red_rect" android:label="@string/app_name" > <intent-filter> <action android:name="com.example.paintapp.red_rect" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <activity android:name="com.example.paintapp.blue_rect" android:label="@string/app_name" > <intent-filter> <action android:name="com.example.paintapp.blue_rect" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <activity android:name="com.example.paintapp.black_rect" android:label="@string/app_name" > <intent-filter> <action android:name="com.example.paintapp.black_rect" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> </application> </manifest>
Sanfoundry Global Education & Learning Series – 100+ Java Android Tutorials.
Get full Code here-
paintapp
- Apply for Computer Science Internship
- Practice Programming MCQs
- Check Programming Books
- Check Java Books
- Practice Information Technology MCQs