Showing posts with label ToggleButton. Show all posts
Showing posts with label ToggleButton. Show all posts

Thursday, 11 June 2015

User Interface with XML

TableLayout

TableLayout allow user Interface to arrange item in rows and Columns in Table format, just like in HTML, <tr> and <td>. A TableLayout consists of a number of TableRow objects, each defining a row (Each TableRow can hold many child Views as columns). 

Example: Create a new project. add RattingBar, ToggleButton, ProgressBar, TextView and Button from UI of You IDE. OR copy The Code Below.

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

     android:layout_width="match_parent"    
     android:layout_height="match_parent"   
     android:paddingLeft="16dp"    
     android:gravity="center"   
     android:paddingRight="16dp">      
<TableLayout        
     android:layout_width="match_parent"        
     android:layout_height="wrap_content">         
  <TableRow            
    android:layout_width="match_parent"           
    android:layout_height="match_parent"           
    android:gravity="right">             
  <TextView                
    android:id="@+id/textView"                
    android:layout_width="wrap_content"               
    android:layout_height="wrap_content"                
    android:layout_column="1"                
    android:layout_marginRight="10dp"                
    android:text="Notification"                
    android:textColor="#000" />             
 <ToggleButton                
    android:id="@+id/toggleButton"               
    android:layout_width="wrap_content"                
    android:layout_height="wrap_content"               
    android:textOff="Off"               
    android:textOn="On" />        
  </TableRow>         
  <TableRow            
    android:layout_width="match_parent"            
    android:layout_height="match_parent">             
 <RatingBar               
    android:id="@+id/ratingBar"                
    android:layout_width="match_parent"                
    android:layout_height="wrap_content" />            
  <TextView                
     android:id="@+id/textViewRate"                 
     android:layout_width="wrap_content"                
     android:layout_height="match_parent"               
     android:layout_column="1"               
     android:layout_marginRight="10dp"               
     android:gravity="center"               
     android:text="Rate"                
    android:textColor="#000" />       
</TableRow>         
<TableRow            
    android:layout_width="match_parent"            
    android:layout_height="match_parent">             
<Button               
    android:id="@+id/submit"              
    android:layout_width="wrap_content"                
    android:layout_height="wrap_content"                
    android:text="Submit" />             
<ProgressBar               
    android:id="@+id/progressBar"               
    style="?android:attr/progressBarStyleLarge"                     android:layout_width="wrap_content"               
    android:layout_height="wrap_content" />        
</TableRow>      
  <TableRow            
    android:layout_width="match_parent"            
    android:layout_height="match_parent">       
  </TableRow>         <TableRow          
    android:layout_width="match_parent"            
    android:layout_height="match_parent">       
  </TableRow>     
</TableLayout>
</LinearLayout>

MainActivity.java
package com.example.plush.helloworld;
 
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.ProgressBar;
import android.widget.RatingBar;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.ToggleButton;
 
 
public class MainActivity extends ActionBarActivity {
    ToggleButton toggleButton;
    RatingBar rating;
    TextView textView;
    Button button;
    ProgressBar progressBar;
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        toggleButtonListener();
 
        ratingBarListenr();
 
        buttonAndProgressbar();
 
    }
    public void toggleButtonListener() {
        toggleButton = (ToggleButton) findViewById(R.id.toggleButton);
        toggleButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if (isChecked) {
                    // The toggle is enabled
                    Toast.makeText(getApplicationContext(), "Notification is turned ON", Toast.LENGTH_LONG).show();
                } else {
                    // The toggle is disabled
                    Toast.makeText(getApplicationContext(), "Notification is turned OFF", Toast.LENGTH_LONG).show();
                }
            }
        });
    }
 
    public void ratingBarListenr() {
        rating = (RatingBar) findViewById(R.id.ratingBar);
        textView = (TextView) findViewById(R.id.textViewRate);
 
        //display rating value in textview if value changed
        rating.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
            public void onRatingChanged(RatingBar ratingBar, float rating,
                                        boolean fromUser) {
 
                textView.setText(String.valueOf(rating));
 
            }
        });
    }
 
    private void buttonAndProgressbar() {
        button = (Button) findViewById(R.id.submit);
        progressBar = (ProgressBar) findViewById(R.id.progressBar);
 
        //Make progressBar invisiable at the beggining
        progressBar.setVisibility(View.INVISIBLE);
 
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
 
                //Make progressBar Visiable at the beggining
                progressBar.setVisibility(View.VISIBLE);
 
                //Run a thread to wait for 3 seconds.
                try {
                    Thread.sleep(3000);
                } catch (InterruptedException ex) {
                    Thread.currentThread().interrupt();
                }
                //After 3 seconds make progresbar invisiable again.
                Toast.makeText(getApplicationContext(), "Saved", Toast.LENGTH_SHORT).show();
                progressBar.setVisibility(View.INVISIBLE);
            }
        });
 
    }
 
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu, menu);
        return true;
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
 
        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }
 
        return super.onOptionsItemSelected(item);
    }
}


Result: Run Application