Blog purpose for android basic example for android app developer. any query please my contact

Friday, 15 August 2025

Android studio Custom Components

 Android studio Custom Components


Android offers a great list of pre-built widgets like Button, TextView, EditText, ListView, CheckBox, RadioButton, Gallery, Spinner, AutoCompleteTextView etc. which you can use directly in your Android application development, but there may be a situation when you are not satisfied with existing functionality of any of the available widgets. Android provides you with means of creating your own custom components which you can customized to suit your needs.



1. Create the following attributes file called attrs.xml in your res/values folder.:


<?xml version="1.0" encoding="utf-8"?>

<resources>

   <declare-styleable name="TimeView">

      <declare-styleable name="TimeView">

         <attr name="title" format="string" />

         <attr name="setColor" format="boolean"/>

      </declare-styleable>

   </declare-styleable>

</resources>



2. Change the layout file used by the activity to the following.:


<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

   xmlns:tools="http://schemas.android.com/tools"

   xmlns:custom="http://schemas.android.com/apk/res-auto"

   android:layout_width="match_parent"

   android:layout_height="match_parent"

   tools:context=".MainActivity" >


   <com.example.tutorialspoint7.myapplication.TimeView

      android:id="@+id/timeView"

      android:layout_width="match_parent"

      android:layout_height="wrap_content"

      android:textColor="#fff"

      android:textSize="40sp"

      custom:title="my time view"

      custom:setColor="true" />


   <TextView

      android:layout_width="match_parent"

      android:layout_height="wrap_content"

      android:id="@+id/simple"

      android:layout_below="@id/timeView"

      android:layout_marginTop="10dp" />

</RelativeLayout>




3. Create the following java file called timeview for your compound view.:


package com.example.tutorialspoint7.myapplication;

/**

 * Created by TutorialsPoint7 on 9/14/2016.

 */

import java.text.SimpleDateFormat;

import java.util.Calendar;


import android.content.Context;

import android.content.res.TypedArray;


import android.graphics.Color;

import android.util.AttributeSet;

import android.widget.TextView;


public class TimeView extends TextView {

   private String titleText;

   private boolean color;




4. Change your Main activity java file to the following code and run your application.:



package com.example.tutorialspoint7.myapplication;


import android.os.Bundle;

import android.widget.TextView;

import android.app.Activity;


public class MainActivity extends Activity {


   @Override

   protected void onCreate(Bundle savedInstanceState) {

      super.onCreate(savedInstanceState);

      setContentView(R.layout.activity_main);


      TextView simpleText = (TextView) findViewById(R.id.simple);

      simpleText.setText("That is a simple TextView");

   }

}



No comments:

Post a Comment