activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/rl" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="16dp" tools:context=".MainActivity" android:background="#e8f7e8" > <Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Apply Multi-Color Border" /> <TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Multi-Color Border" android:textSize="50dp" android:layout_centerInParent="true" /> </RelativeLayout>
MainActivity.java
package com.cfsuman.me.androidcode; import android.content.Context; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; import android.graphics.drawable.LayerDrawable; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.RelativeLayout; import android.widget.TextView; public class MainActivity extends AppCompatActivity { private Context mContext; private RelativeLayout mRelativeLayout; private TextView mTextView; private Button mBTN; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Get the application context mContext = getApplicationContext(); // Get the widgets reference from XML layout mRelativeLayout = (RelativeLayout) findViewById(R.id.rl); mTextView = (TextView) findViewById(R.id.tv); mBTN = (Button) findViewById(R.id.btn); // Set a click listener for Button widget mBTN.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { /* ColorDrawable A specialized Drawable that fills the Canvas with a specified color. Note that a ColorDrawable ignores the ColorFilter. It can be defined in an XML file with the <color> element. */ /* ColorDrawable(int color) Creates a new ColorDrawable with the specified color. */ // Initialize some new ColorDrawable objects ColorDrawable leftBorder = new ColorDrawable(Color.RED); ColorDrawable topBorder = new ColorDrawable(Color.GREEN); ColorDrawable rightBorder = new ColorDrawable(Color.BLUE); ColorDrawable bottomBorder = new ColorDrawable(Color.YELLOW); ColorDrawable background = new ColorDrawable(Color.WHITE); // Initialize an array of Drawable objects Drawable[] layers = new Drawable[]{ leftBorder, // Red color topBorder, // Green color rightBorder, // Blue color bottomBorder, // Yellow color background // White background }; /* LayerDrawable A Drawable that manages an array of other Drawables. These are drawn in array order, so the element with the largest index will be drawn on top. It can be defined in an XML file with the <layer-list> element. Each Drawable in the layer is defined in a nested <item>. */ /* public LayerDrawable (Drawable[] layers) Creates a new layer drawable with the list of specified layers. Parameters layers : a list of drawables to use as layers in this new drawable, must be non-null */ /* Drawable A Drawable is a general abstraction for "something that can be drawn. " Most often you will deal with Drawable as the type of resource retrieved for drawing things to the screen; the Drawable class provides a generic API for dealing with an underlying visual resource that may take a variety of forms. Unlike a View, a Drawable does not have any facility to receive events or otherwise interact with the user. */ // Initialize a new LayerDrawable LayerDrawable layerDrawable = new LayerDrawable(layers); /* public void setLayerInset (int index, int l, int t, int r, int b) Specifies the insets in pixels for the drawable at the specified index. Related XML Attributes android:left android:top android:right android:bottom Parameters index : the index of the drawable to adjust l : number of pixels to add to the left bound t : number of pixels to add to the top bound r : number of pixels to subtract from the right bound b : number of pixels to subtract from the bottom bound */ // Red layer padding, draw left border layerDrawable.setLayerInset(0,0,0,15,0); // Green layer padding, draw top border layerDrawable.setLayerInset(1,15,0,0,15); // Blue layer padding, draw right border layerDrawable.setLayerInset(2,15,15,0,0); // Yellow layer padding, draw bottom border layerDrawable.setLayerInset(3,15,15,15,0); // White layer, draw the background layerDrawable.setLayerInset(4,15,15,15,15); /* Finally, Set the LayerDrawable as TextView background. This will draw multi-color border and white background. Draw 15 pixels width border */ mTextView.setBackground(layerDrawable); // Set the TextView padding mTextView.setPadding(25,25,25,25); } }); } }
- How to write rate this app code
- How to do a task after a delay
- How to repeat a task periodically
- How to make a Live Wallpaper
- EmbossMaskFilter example
- How to apply deboss text effect
- How to use BitmapShader
- How to create layout tiled background
- How to create rounded corners ImageView
- How to draw border and shadow around a bitmap
Komentar
Posting Komentar