Material Design Lista simples en Android


Según la documentación de Google sobre Material Design. Una lista consta de una sola columna continua divido por conjunto de filas iguales, que funcionan como contenedores de elementos informativos.

Las listas son adecuadas para la presentación de un tipo de datos homogéneos o conjunto de datos del mismo tipo, puede contener imágenes (iconos,avatares) y texto. Están optimizadas para la comprensión de la lectura , ofrecen diferenciar bien entre tipos de datos similares o sus cualidades dentro de un conjunto de datos.

Lista Simples

Las listas simples solo muestran la información en una sola linea:

Solo texto

alt text

draw_item_single_line_text_only.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:layout_width="match_parent"
 android:layout_height="48dp"
 android:background="?android:attr/selectableItemBackground"
 android:paddingEnd="@dimen/list_right_padding"
 android:paddingLeft="@dimen/list_left_padding"
 android:paddingRight="@dimen/list_right_padding"
 android:paddingStart="@dimen/list_left_padding"
 tools:context="com.webserveis.app.detaile.MainActivity">

 <TextView
 android:id="@+id/text"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_centerVertical="true"
 android:text="Single-line item"
 android:textColor="?android:textColorPrimary"
 android:textSize="16sp" />

</RelativeLayout>

Con icono y texto

alt text

draw_item_single_line_icon_with_text.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:layout_width="match_parent"
 android:layout_height="48dp"
 android:background="?android:attr/selectableItemBackground"
 android:paddingEnd="16dp"
 android:paddingLeft="16dp"
 android:paddingRight="16dp"
 android:paddingStart="16dp"
 tools:context="com.webserveis.app.detaile.MainActivity">

 <ImageView
 android:id="@+id/image"
 android:layout_width="24dp"
 android:layout_height="24dp"
 android:layout_centerVertical="true"
 android:src="@mipmap/ic_launcher"
 android:tint="#666666" />

 <TextView
 android:id="@+id/text"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_alignParentLeft="true"
 android:layout_alignParentStart="true"
 android:layout_centerVertical="true"
 android:layout_marginLeft="56dp"
 android:layout_marginStart="56dp"
 android:text="Single-line item"
 android:textColor="?android:textColorPrimary"
 android:textSize="16sp" />

</RelativeLayout>

Avatar con texto

alt text

draw_item_single_line_avatar_with_text.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:layout_width="match_parent"
 android:layout_height="56dp"
 android:background="?android:attr/selectableItemBackground"
 android:paddingEnd="16dp"
 android:paddingLeft="16dp"
 android:paddingRight="16dp"
 android:paddingStart="16dp"
 tools:context="com.webserveis.app.detaile.MainActivity">

 <ImageView
 android:id="@+id/image"
 android:layout_width="48dp"
 android:layout_height="48dp"
 android:layout_centerVertical="true"
 android:src="@mipmap/ic_launcher"
 android:tint="#666666" />

 <TextView
 android:id="@+id/text"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_alignParentLeft="true"
 android:layout_alignParentStart="true"
 android:layout_centerVertical="true"
 android:layout_marginLeft="56dp"
 android:layout_marginStart="56dp"
 android:text="Single-line item"
 android:textColor="?android:textColorPrimary"
 android:textSize="16sp" />

</RelativeLayout>

Avatar con texto y icono

alt text

draw_item_single_line_avatar_with_text_and_icon.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:layout_width="match_parent"
 android:layout_height="56dp"
 android:background="?android:attr/selectableItemBackground"
 android:paddingEnd="16dp"
 android:paddingLeft="16dp"
 android:paddingRight="16dp"
 android:paddingStart="16dp"
 tools:context="com.webserveis.app.detaile.MainActivity">

 <ImageView
 android:id="@+id/image"
 android:layout_width="48dp"
 android:layout_height="48dp"
 android:layout_centerVertical="true"
 android:src="@mipmap/ic_launcher"
 android:tint="#666666" />

 <TextView
 android:id="@+id/text"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_alignParentLeft="true"
 android:layout_alignParentStart="true"
 android:layout_centerVertical="true"
 android:layout_marginLeft="56dp"
 android:layout_marginStart="56dp"
 android:layout_toLeftOf="@+id/image2"
 android:layout_toStartOf="@+id/image2"
 android:text="Single-line item"
 android:textColor="?android:textColorPrimary"
 android:textSize="16sp" />

 <ImageView
 android:id="@+id/image2"
 android:layout_width="24dp"
 android:layout_height="24dp"
 android:layout_alignParentEnd="true"
 android:layout_alignParentRight="true"
 android:layout_centerVertical="true"
 android:layout_marginLeft="16dp"
 android:layout_marginStart="16dp"
 android:src="@mipmap/ic_launcher"
 android:tint="#666666" />

</RelativeLayout>

 

Llamar selector de archivos nativo en Android


El sistema android incorpora un selector de archivos, file picker, file chooser, para seleccionar imágenes, videos, audio o documentos, tanto en la memoria interna como la externa.

Llamar el selector de archivos

a


private static final int FILE_CHOOSER = 100;
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
startActivityForResult(Intent.createChooser(intent, "Choose File"), FILE_CHOOSER);

Android image viewer create custom image view


Android image viewer create custom image view

http://javatechig.com/android/using-custom-activity-transition-in-gridview-image-gallery

https://developer.android.com/training/animation/zoom.html

 

 

 

library sintax viewer
https://github.com/fiskurgit/SyntaxView

AndroidExpandingViewLibrary
https://github.com/diegodobelo/AndroidExpandingViewLibrary

DrawerBehavior
https://github.com/JakeWharton/DrawerBehavior

AndroidNetworking
https://github.com/amitshekhariitbhu/AndroidNetworking

 

 

Rect scrollBounds = new Rect();
scrollView.getHitRect(scrollBounds);
if (imageView.getLocalVisibleRect(scrollBounds)) {
    // Any portion of the imageView, even a single pixel, is within the visible window
} else {
    // NONE of the imageView is within the visible window
}

Rect scrollBounds = new Rect();
scrollView.getHitRect(scrollBounds);
if (!imageView.getLocalVisibleRect(scrollBounds)
    || scrollBounds.height() < imageView.getHeight()) {
    // imageView is not within or only partially within the visible window
} else {
    // imageView is completely visible
}

	

Librería DeviceInfo para Android


Con la librería EasyDeviceInfo podemos obtener información del sistema

Listado de sus posibilidades

Formatted Time (24Hr) getFormatedTime() String
Time (ms) getTime() long
Language getLanguage() String
Android ID getAndroidID() String
IMSI getIMSI() String
Pseudo ID getPsuedoUniqueID() String
Device Serial Number getSerial() String
SIM Serial Number getSIMSerial() String
Manufacturer getManufacturer() String
Model getModel() String
OS Codename getOSCodename() String
OS Version getOSVersion() String
Country getCountry() String
Display Resolution getResolution() String
Phone Number getPhoneNo() String
ISP/Carrier getCarrier() String
Radio Hardware Version getRadioVer() String
Product getProduct() String
Device getDevice() String
Board getBoard() String
Hardware getHardware() String
Bootloader getBootloader() String
IP Address getIPAddress(true) String
Fingerprint getFingerprint() String
Screen Density getDensity() String
Installer Store getStore() String
Is running on emulator isRunningOnEmulator() boolean
Is Device rooted isDeviceRooted() boolean
Build Brand getBuildBrand() String
Build Host getBuildHost() String
Build Tags getBuildTags() String
Build Time getBuildTime() long
Build User getBuildUser() String
Build Version Release getBuildVersionRelease() String
Battery Percentage getBatteryPercentage() int
Is Device charging isDeviceCharging() boolean
Is Device charging via USB isDeviceChargingUSB() boolean
Is Device charging via AC isDeviceChargingAC() boolean
WiFi State isWifiEnabled() boolean
Screen Display ID getScreenDisplayID() String
Build Version Codename getBuildVersionCodename() String
Build Version Incremental getBuildVersionIncremental() String
Build Version SDK getBuildVersionSDK() int
Build ID getBuildID() String
Supported ABIS getStringSupportedABIS() String
Supported 32 bit ABIS getStringSupported32bitABIS() String
Supported 64 bit ABIS getStringSupported64bitABIS()

Ver librería EasyDeviceInfo en GitHub