
All UI components in an Android application are manufactured utilizing View and ViewGroup objects. A View is an article that draws something on the screen that the client can collaborate with. A ViewGroup is an article that holds other View (and ViewGroup) objects with a specific end goal to characterize the design of the interface.
Android gives a gathering of both View and ViewGroup subclasses that offer you regular info controls, (for example, catches and message fields) and different design models, (for example, a direct or relative format).
Android Screen UI Components
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> </LinearLayout>
Amid runtime, you stack the XML UI in the onCreate() occasion handler in your Activity class, utilizing the setContentView() technique for the Activity class:
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); }
LinearLayout
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> </LinearLayout>
Views
Types of views:
- TextView, ImageView, Button…
- ListView, GridView
- Recycler View
- ViewPager
Here’s the layout component activity_album_list.xml that I had written.
<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" tools:context=".AlbumListActivity"> <android.support.v7.widget.Toolbar android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:is="@+id/toolbar" android:background="?attr/colorPrimary" style="@style/ThemeOverlay.AppCompat.Dark.ActionBar" /> <android.support.v7.widget.RecyclerView android:id="@_id/album_list" android:layout_below="@id/toolbar" android:layout_width="match_parent" android:layout_height="match_parent" /> </RelativeLayout>
AlbumListActivity.java
public class AlbumListActivity extends ActionBarActivity { public static Object sHook; @InjectView(R.id.album_list) RecyclerView mAlbumList; @InjectView(R.id.toolbar) Toolbar mToolbar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_album_list); ButterKnife.inject(this); mToolbar.inflateMenu(R.menu.menu_album_list); populate(); } interface OnVHClickedListener { void onVHClicked(AlbumVH vh); } static class AlbumVH extends RecyclerView.ViewHolder implement… private final OnVHClickedListener mListener; @InjectView(R.id.album_art) ImageView albumArt; @InjectView(R.id.name)…
Android Books To Learn Mobile Apps Programming
- Android Programming: The Big Nerd Ranch Guide
- Android Design Patterns: Interaction Design Solutions for Developers
- Android Application Development Cookbook – Second Edition
- Android User Interface Design: Turning Ideas and Sketches into Beautifully Designed Apps (Usability)
- Android Recipes: A Problem-Solution Approach for Android 5.0
- Hello, Android: Introducing Google’s Mobile Development Platform (Pragmatic Programmers)
- Beginning Android Games
Leave a Reply