Skip to content

Commit 7f3a28a

Browse files
author
Nilanchal Panigrahy
committed
Consolidated all UI examples into single repo
1 parent accf42c commit 7f3a28a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+775
-0
lines changed
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<module external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" external.system.module.group="" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
3+
<component name="FacetManager">
4+
<facet type="java-gradle" name="Java-Gradle">
5+
<configuration>
6+
<option name="BUILD_FOLDER_PATH" value="$MODULE_DIR$/build" />
7+
</configuration>
8+
</facet>
9+
</component>
10+
<component name="NewModuleRootManager" inherit-compiler-output="true">
11+
<exclude-output />
12+
<content url="file://$MODULE_DIR$">
13+
<excludeFolder url="file://$MODULE_DIR$/.gradle" />
14+
</content>
15+
<orderEntry type="inheritedJdk" />
16+
<orderEntry type="sourceFolder" forTests="false" />
17+
</component>
18+
</module>
19+
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/build

Android-GridView-Example/app/app.iml

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<module external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="GridViewExample" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
3+
<component name="FacetManager">
4+
<facet type="android-gradle" name="Android-Gradle">
5+
<configuration>
6+
<option name="GRADLE_PROJECT_PATH" value=":app" />
7+
</configuration>
8+
</facet>
9+
<facet type="android" name="Android">
10+
<configuration>
11+
<option name="SELECTED_BUILD_VARIANT" value="debug" />
12+
<option name="SELECTED_TEST_ARTIFACT" value="_android_test_" />
13+
<option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
14+
<option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
15+
<option name="ASSEMBLE_TEST_TASK_NAME" value="assembleDebugAndroidTest" />
16+
<option name="SOURCE_GEN_TASK_NAME" value="generateDebugSources" />
17+
<option name="TEST_SOURCE_GEN_TASK_NAME" value="generateDebugAndroidTestSources" />
18+
<option name="ALLOW_USER_CONFIGURATION" value="false" />
19+
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
20+
<option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
21+
<option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" />
22+
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
23+
</configuration>
24+
</facet>
25+
</component>
26+
<component name="NewModuleRootManager" inherit-compiler-output="false">
27+
<output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
28+
<output-test url="file://$MODULE_DIR$/build/intermediates/classes/androidTest/debug" />
29+
<exclude-output />
30+
<content url="file://$MODULE_DIR$">
31+
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" />
32+
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/debug" isTestSource="false" generated="true" />
33+
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
34+
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" />
35+
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" />
36+
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/generated/debug" type="java-resource" />
37+
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/debug" isTestSource="true" generated="true" />
38+
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" />
39+
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
40+
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/debug" isTestSource="true" generated="true" />
41+
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" />
42+
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/generated/androidTest/debug" type="java-test-resource" />
43+
<sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" />
44+
<sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" />
45+
<sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" />
46+
<sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />
47+
<sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
48+
<sourceFolder url="file://$MODULE_DIR$/src/debug/jni" isTestSource="false" />
49+
<sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
50+
<sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />
51+
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
52+
<sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />
53+
<sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" />
54+
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
55+
<sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
56+
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
57+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
58+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
59+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
60+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
61+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
62+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
63+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
64+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
65+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" />
66+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
67+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/coverage-instrumented-classes" />
68+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" />
69+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex" />
70+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex-cache" />
71+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
72+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jacoco" />
73+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/javaResources" />
74+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/libs" />
75+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/lint" />
76+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
77+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/ndk" />
78+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/pre-dexed" />
79+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/proguard" />
80+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
81+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
82+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
83+
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
84+
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
85+
</content>
86+
<orderEntry type="jdk" jdkName="Android API 21 Platform" jdkType="Android SDK" />
87+
<orderEntry type="sourceFolder" forTests="false" />
88+
<orderEntry type="library" exported="" name="appcompat-v7-21.0.3" level="project" />
89+
<orderEntry type="library" exported="" name="support-annotations-21.0.3" level="project" />
90+
<orderEntry type="library" exported="" name="support-v4-21.0.3" level="project" />
91+
</component>
92+
</module>
93+
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
apply plugin: 'com.android.application'
2+
3+
android {
4+
compileSdkVersion 21
5+
buildToolsVersion "21.1.2"
6+
7+
defaultConfig {
8+
applicationId "com.javatechig.gridviewexample"
9+
minSdkVersion 14
10+
targetSdkVersion 21
11+
versionCode 1
12+
versionName "1.0"
13+
}
14+
buildTypes {
15+
release {
16+
minifyEnabled false
17+
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
18+
}
19+
}
20+
}
21+
22+
dependencies {
23+
compile fileTree(dir: 'libs', include: ['*.jar'])
24+
compile 'com.android.support:appcompat-v7:21.0.3'
25+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Add project specific ProGuard rules here.
2+
# By default, the flags in this file are appended to flags specified
3+
# in /Applications/adt-bundle-mac-x86_64-20140702/sdk/tools/proguard/proguard-android.txt
4+
# You can edit the include path and order by changing the proguardFiles
5+
# directive in build.gradle.
6+
#
7+
# For more details, see
8+
# http://developer.android.com/guide/developing/tools/proguard.html
9+
10+
# Add any project specific keep options here:
11+
12+
# If your project uses WebView with JS, uncomment the following
13+
# and specify the fully qualified class name to the JavaScript interface
14+
# class:
15+
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16+
# public *;
17+
#}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.javatechig.gridviewexample;
2+
3+
import android.app.Application;
4+
import android.test.ApplicationTestCase;
5+
6+
/**
7+
* <a href="http://d.android.com/tools/testing/testing_android.html">Testing Fundamentals</a>
8+
*/
9+
public class ApplicationTest extends ApplicationTestCase<Application> {
10+
public ApplicationTest() {
11+
super(Application.class);
12+
}
13+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3+
package="com.javatechig.gridviewexample" >
4+
5+
<application
6+
android:allowBackup="true"
7+
android:icon="@mipmap/ic_launcher"
8+
android:label="@string/app_name"
9+
android:theme="@style/AppTheme" >
10+
<activity
11+
android:name=".MainActivity"
12+
android:label="@string/app_name" >
13+
<intent-filter>
14+
<action android:name="android.intent.action.MAIN" />
15+
16+
<category android:name="android.intent.category.LAUNCHER" />
17+
</intent-filter>
18+
</activity>
19+
20+
<activity android:name=".DetailsActivity"/>
21+
</application>
22+
23+
</manifest>
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package com.javatechig.gridviewexample;
2+
3+
import android.graphics.Bitmap;
4+
import android.os.Bundle;
5+
import android.support.v7.app.ActionBarActivity;
6+
import android.widget.ImageView;
7+
import android.widget.TextView;
8+
9+
public class DetailsActivity extends ActionBarActivity {
10+
11+
@Override
12+
protected void onCreate(Bundle savedInstanceState) {
13+
super.onCreate(savedInstanceState);
14+
setContentView(R.layout.details_activity);
15+
16+
String title = getIntent().getStringExtra("title");
17+
Bitmap bitmap = getIntent().getParcelableExtra("image");
18+
19+
TextView titleTextView = (TextView) findViewById(R.id.title);
20+
titleTextView.setText(title);
21+
22+
ImageView imageView = (ImageView) findViewById(R.id.image);
23+
imageView.setImageBitmap(bitmap);
24+
}
25+
}
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package com.javatechig.gridviewexample;
2+
3+
import java.util.ArrayList;
4+
5+
import android.app.Activity;
6+
import android.content.Context;
7+
import android.view.LayoutInflater;
8+
import android.view.View;
9+
import android.view.ViewGroup;
10+
import android.widget.ArrayAdapter;
11+
import android.widget.ImageView;
12+
import android.widget.TextView;
13+
14+
public class GridViewAdapter extends ArrayAdapter<ImageItem> {
15+
16+
private Context context;
17+
private int layoutResourceId;
18+
private ArrayList<ImageItem> data = new ArrayList<ImageItem>();
19+
20+
public GridViewAdapter(Context context, int layoutResourceId, ArrayList<ImageItem> data) {
21+
super(context, layoutResourceId, data);
22+
this.layoutResourceId = layoutResourceId;
23+
this.context = context;
24+
this.data = data;
25+
}
26+
27+
@Override
28+
public View getView(int position, View convertView, ViewGroup parent) {
29+
View row = convertView;
30+
ViewHolder holder;
31+
32+
if (row == null) {
33+
LayoutInflater inflater = ((Activity) context).getLayoutInflater();
34+
row = inflater.inflate(layoutResourceId, parent, false);
35+
holder = new ViewHolder();
36+
holder.imageTitle = (TextView) row.findViewById(R.id.text);
37+
holder.image = (ImageView) row.findViewById(R.id.image);
38+
row.setTag(holder);
39+
} else {
40+
holder = (ViewHolder) row.getTag();
41+
}
42+
43+
44+
ImageItem item = data.get(position);
45+
holder.imageTitle.setText(item.getTitle());
46+
holder.image.setImageBitmap(item.getImage());
47+
return row;
48+
}
49+
50+
static class ViewHolder {
51+
TextView imageTitle;
52+
ImageView image;
53+
}
54+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package com.javatechig.gridviewexample;
2+
3+
import android.graphics.Bitmap;
4+
5+
public class ImageItem {
6+
private Bitmap image;
7+
private String title;
8+
9+
public ImageItem(Bitmap image, String title) {
10+
super();
11+
this.image = image;
12+
this.title = title;
13+
}
14+
15+
public Bitmap getImage() {
16+
return image;
17+
}
18+
19+
public void setImage(Bitmap image) {
20+
this.image = image;
21+
}
22+
23+
public String getTitle() {
24+
return title;
25+
}
26+
27+
public void setTitle(String title) {
28+
this.title = title;
29+
}
30+
}
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
package com.javatechig.gridviewexample;
2+
3+
import java.util.ArrayList;
4+
import android.content.Intent;
5+
import android.os.Bundle;
6+
import android.content.res.TypedArray;
7+
import android.graphics.Bitmap;
8+
import android.graphics.BitmapFactory;
9+
import android.support.v7.app.ActionBarActivity;
10+
import android.view.View;
11+
import android.widget.AdapterView;
12+
import android.widget.AdapterView.OnItemClickListener;
13+
import android.widget.GridView;
14+
15+
public class MainActivity extends ActionBarActivity {
16+
private GridView gridView;
17+
private GridViewAdapter gridAdapter;
18+
19+
@Override
20+
protected void onCreate(Bundle savedInstanceState) {
21+
super.onCreate(savedInstanceState);
22+
setContentView(R.layout.activity_main);
23+
24+
gridView = (GridView) findViewById(R.id.gridView);
25+
gridAdapter = new GridViewAdapter(this, R.layout.grid_item_layout, getData());
26+
gridView.setAdapter(gridAdapter);
27+
28+
gridView.setOnItemClickListener(new OnItemClickListener() {
29+
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
30+
ImageItem item = (ImageItem) parent.getItemAtPosition(position);
31+
32+
//Create intent
33+
Intent intent = new Intent(MainActivity.this, DetailsActivity.class);
34+
intent.putExtra("title", item.getTitle());
35+
intent.putExtra("image", item.getImage());
36+
37+
//Start details activity
38+
startActivity(intent);
39+
}
40+
});
41+
}
42+
43+
/**
44+
* Prepare some dummy data for gridview
45+
*/
46+
private ArrayList<ImageItem> getData() {
47+
final ArrayList<ImageItem> imageItems = new ArrayList<>();
48+
TypedArray imgs = getResources().obtainTypedArray(R.array.image_ids);
49+
for (int i = 0; i < imgs.length(); i++) {
50+
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), imgs.getResourceId(i, -1));
51+
imageItems.add(new ImageItem(bitmap, "Image#" + i));
52+
}
53+
return imageItems;
54+
}
55+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<selector xmlns:android="http://schemas.android.com/apk/res/android">
3+
4+
<item android:drawable="@color/blue" android:state_pressed="true" />
5+
<item android:drawable="@color/blue" android:state_selected="true" />
6+
<item android:drawable="@color/white" />
7+
8+
</selector>
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:layout_width="match_parent"
3+
android:layout_height="match_parent"
4+
android:background="#f0f0f0">
5+
6+
<GridView
7+
android:id="@+id/gridView"
8+
android:layout_width="fill_parent"
9+
android:layout_height="wrap_content"
10+
android:layout_margin="5dp"
11+
android:columnWidth="100dp"
12+
android:drawSelectorOnTop="true"
13+
android:gravity="center"
14+
android:numColumns="auto_fit"
15+
android:stretchMode="columnWidth"
16+
android:verticalSpacing="5dp"
17+
android:focusable="true"
18+
android:clickable="true"/>
19+
</RelativeLayout>

0 commit comments

Comments
 (0)