300 likes | 407 Vues
Learn how to display text and images in Android using TextViews and ImageViews. Understand how to customize TextViews with drawables and set images with scale types. Dive into ImageView properties and ShapeDrawables. Explore the use of tint in ImageViews and the capabilities of ImageButtons. Discover how to hide default backgrounds and create ShapeDrawables in Android.
E N D
TextViews • Display text • Display images???
TextViewDrawables • TextViewsallow drawables to appear to the left of, above, to the right of, and below the text.
<?xml version="1.0" encoding="utf-8"?> <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextViewandroid:layout_width="wrap_content" android:layout_height="wrap_content" android:drawableLeft="@drawable/ic_launcher" android:text="Drawable Left" android:layout_margin="10dp"/> <TextViewandroid:layout_width="wrap_content" android:layout_height="wrap_content" android:drawableTop="@drawable/ic_launcher" android:text="Drawable Top" android:layout_margin="10dp"/> <TextViewandroid:layout_width="wrap_content" android:layout_height="wrap_content" android:drawableRight="@drawable/ic_launcher" android:text="Drawable Right" android:layout_margin="10dp"/> <TextViewandroid:layout_width="wrap_content" android:layout_height="wrap_content" android:drawableBottom="@drawable/ic_launcher" android:text="Drawable Bottom" android:layout_margin="10dp"/> </LinearLayout>
setError() • Method available to TextView and EditText to display an error message to the user. • This is very useful for user input validation.
ImageView • Use this View when you want to display an image in your application. • Many beginners will misuse the ImageView by using the incorrect property.
ImageViewsrc property • Use the android:src property to set a drawable as the content of the ImageView. • Don’t use android:background unless you want the image to have a background img.
ImageView Example <ImageViewandroid:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_launcher"/>
ImageView Example with a background <ImageViewandroid:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_launcher" android:background="#FFFF0000"/>
ImageViewscaleType • Control how your image is scaled and positioned inside the ImageView • Useful when your image is too big • Useful when your image is too small
ImageViewScaleType Info • http://www.peachpit.com/articles/article.aspx?p=1846580&seqNum=2
Android:tint • ImageView’s have an attribute that allows the source image of the view to be tinted by a color.
ImageButton • We’re familiar with a Button • Default background provided by the platform • Displays Text • Well Android supports an ImageButton • Looks like a regular button • Default background provided by the platform • Displays an Image
Why Buttons are awesome • Android provides a method for giving a button a state list that defines which images should be shown while the button is: • Normal • Focused • Enabled • Disabled • Pressed
Hiding the default background on an ImageButton • If you want to use an ImageButton but don’t want to see the default background, you can hide it. • Set the android:background=“#00000000” • Set the android:background=“@android:color/transparent
ShapeDrawables • An XML file that defines a geometric shape, including colors and gradients. Creates a ShapeDrawable.
<?xml version="1.0" encoding="utf-8"?><shapexmlns:android="http://schemas.android.com/apk/res/android"android:shape=["rectangle" | "oval" | "line" | "ring"] ><cornersandroid:radius="integer"android:topLeftRadius="integer"android:topRightRadius="integer"android:bottomLeftRadius="integer"android:bottomRightRadius="integer"/><gradientandroid:angle="integer"android:centerX="integer"android:centerY="integer"android:centerColor="integer"android:endColor="color"android:gradientRadius="integer"android:startColor="color"android:type=["linear" | "radial" | "sweep"]android:useLevel=["true" | "false"] /><paddingandroid:left="integer"android:top="integer"android:right="integer"android:bottom="integer"/><sizeandroid:width="integer"android:height="integer"/><solidandroid:color="color"/><strokeandroid:width="integer"android:color="color"android:dashWidth="integer"android:dashGap="integer"/></shape>
What is a 9-Patch • An Image that has the capability to specify stretchable regions.
More Info on 9-Patch • Android 9 Patch Tool • A Simple guide to 9-patch for Android UI