Skip to content

Commit 0639384

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

32 files changed

+757
-0
lines changed
Loading
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
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" 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="false">
11+
<output url="file://$MODULE_DIR$/build/classes/main" />
12+
<output-test url="file://$MODULE_DIR$/build/classes/test" />
13+
<exclude-output />
14+
<content url="file://$MODULE_DIR$">
15+
<excludeFolder url="file://$MODULE_DIR$/.gradle" />
16+
</content>
17+
<orderEntry type="inheritedJdk" />
18+
<orderEntry type="sourceFolder" forTests="false" />
19+
</component>
20+
</module>
21+
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/build

AndroidNavigationDrawer/app/app.iml

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
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" 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="ASSEMBLE_TASK_NAME" value="assembleDebug" />
13+
<option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
14+
<option name="ASSEMBLE_TEST_TASK_NAME" value="assembleDebugTest" />
15+
<option name="SOURCE_GEN_TASK_NAME" value="generateDebugSources" />
16+
<option name="TEST_SOURCE_GEN_TASK_NAME" value="generateDebugTestSources" />
17+
<option name="ALLOW_USER_CONFIGURATION" value="false" />
18+
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
19+
<option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
20+
<option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" />
21+
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
22+
</configuration>
23+
</facet>
24+
</component>
25+
<component name="NewModuleRootManager" inherit-compiler-output="false">
26+
<output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
27+
<exclude-output />
28+
<content url="file://$MODULE_DIR$">
29+
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" />
30+
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/debug" isTestSource="false" generated="true" />
31+
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
32+
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" />
33+
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" />
34+
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/generated/debug" type="java-resource" />
35+
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/test/debug" isTestSource="true" generated="true" />
36+
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/test/debug" isTestSource="true" generated="true" />
37+
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/test/debug" isTestSource="true" generated="true" />
38+
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/test/debug" isTestSource="true" generated="true" />
39+
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/test/debug" type="java-test-resource" />
40+
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/generated/test/debug" type="java-test-resource" />
41+
<sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" />
42+
<sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" />
43+
<sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" />
44+
<sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />
45+
<sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
46+
<sourceFolder url="file://$MODULE_DIR$/src/debug/jni" isTestSource="false" />
47+
<sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
48+
<sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />
49+
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
50+
<sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />
51+
<sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" />
52+
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
53+
<sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
54+
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
55+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
56+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
57+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
58+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
59+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
60+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
61+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
62+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
63+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" />
64+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
65+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/coverage-instrumented-classes" />
66+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" />
67+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex" />
68+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex-cache" />
69+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
70+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jacoco" />
71+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/javaResources" />
72+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/libs" />
73+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/lint" />
74+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
75+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/ndk" />
76+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/pre-dexed" />
77+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/proguard" />
78+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
79+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
80+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
81+
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
82+
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
83+
</content>
84+
<orderEntry type="jdk" jdkName="Android API 21 Platform" jdkType="Android SDK" />
85+
<orderEntry type="sourceFolder" forTests="false" />
86+
<orderEntry type="library" exported="" name="appcompat-v7-21.0.3" level="project" />
87+
<orderEntry type="library" exported="" name="support-annotations-21.0.3" level="project" />
88+
<orderEntry type="library" exported="" name="support-v4-21.0.3" level="project" />
89+
</component>
90+
</module>
91+
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 "20.0.0"
6+
7+
defaultConfig {
8+
applicationId "com.javatechig.navigationdrawer"
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.navigationdrawer;
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.navigationdrawer">
4+
5+
<uses-permission android:name="android.permission.INTERNET" />
6+
7+
<application
8+
android:allowBackup="true"
9+
android:icon="@drawable/ic_launcher"
10+
android:label="@string/app_name"
11+
android:theme="@style/AppTheme">
12+
13+
<activity
14+
android:name=".MainActivity"
15+
android:label="@string/app_name">
16+
<intent-filter>
17+
<action android:name="android.intent.action.MAIN" />
18+
19+
<category android:name="android.intent.category.LAUNCHER" />
20+
</intent-filter>
21+
</activity>
22+
</application>
23+
</manifest>
Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
package com.javatechig.navigationdrawer;
2+
3+
import android.annotation.SuppressLint;
4+
import android.app.Activity;
5+
import android.app.FragmentManager;
6+
import android.app.FragmentTransaction;
7+
import android.os.Bundle;
8+
import android.support.v4.app.ActionBarDrawerToggle;
9+
import android.support.v4.widget.DrawerLayout;
10+
import android.view.View;
11+
import android.widget.AdapterView;
12+
import android.widget.AdapterView.OnItemClickListener;
13+
import android.widget.ArrayAdapter;
14+
import android.widget.ListView;
15+
16+
public class MainActivity extends Activity {
17+
18+
/* Within which the entire activity is enclosed */
19+
private DrawerLayout mDrawerLayout;
20+
21+
/* ListView represents Navigation Drawer */
22+
private ListView mDrawerList;
23+
24+
/* ActionBarDrawerToggle indicates the presence of Navigation Drawer in the action bar */
25+
private ActionBarDrawerToggle mDrawerToggle;
26+
27+
/* Title of the action bar */
28+
private String mTitle = "Navigation Drawer";
29+
30+
/* Getting navigation items from array */
31+
private String[] items;
32+
33+
private int selectedPosition;
34+
35+
@SuppressLint("NewApi")
36+
@Override
37+
protected void onCreate(Bundle savedInstanceState) {
38+
super.onCreate(savedInstanceState);
39+
setContentView(R.layout.activity_main);
40+
41+
/* Setting actionbar title */
42+
getActionBar().setTitle(mTitle);
43+
44+
items = getResources().getStringArray(R.array.menus);
45+
46+
/* Getting reference to the DrawerLayout */
47+
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
48+
mDrawerList = (ListView) findViewById(R.id.drawer_list);
49+
50+
/* Creating an ArrayAdapter to add items to mDrawerList */
51+
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
52+
R.layout.drawer_list_item, items);
53+
54+
/* Setting the adapter to mDrawerList */
55+
mDrawerList.setAdapter(adapter);
56+
57+
/* Getting reference to the ActionBarDrawerToggle */
58+
mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
59+
R.drawable.ic_drawer, R.string.drawer_open, R.string.drawer_close) {
60+
61+
/* Called when drawer is closed */
62+
public void onDrawerClosed(View view) {
63+
//Put your code here
64+
}
65+
66+
/* Called when a drawer is opened */
67+
public void onDrawerOpened(View drawerView) {
68+
//Put your code here
69+
}
70+
};
71+
72+
/* Setting DrawerToggle on DrawerLayout */
73+
mDrawerLayout.setDrawerListener(mDrawerToggle);
74+
75+
// Enabling Home button
76+
getActionBar().setHomeButtonEnabled(true);
77+
getActionBar().setDisplayHomeAsUpEnabled(true);
78+
79+
// Setting item click listener for the listview mDrawerList
80+
mDrawerList.setOnItemClickListener(new OnItemClickListener() {
81+
82+
@Override
83+
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
84+
selectedPosition = position;
85+
86+
/* Replace fragment content */
87+
updateFragment();
88+
89+
/* Closing the drawer */
90+
mDrawerLayout.closeDrawer(mDrawerList);
91+
}
92+
});
93+
94+
/* Setting default fragment */
95+
selectedPosition = 0;
96+
updateFragment();
97+
}
98+
99+
public void updateFragment() {
100+
/* Getting reference to the FragmentManager */
101+
FragmentManager fragmentManager = getFragmentManager();
102+
103+
/* Creating fragment instance */
104+
WebViewFragment rFragment = new WebViewFragment();
105+
106+
/* Passing selected item information to fragment */
107+
Bundle data = new Bundle();
108+
data.putString("title", items[selectedPosition]);
109+
data.putString("url", getUrl());
110+
rFragment.setArguments(data);
111+
112+
/* Replace fragment */
113+
FragmentTransaction ft = fragmentManager.beginTransaction();
114+
ft.replace(R.id.content_frame, rFragment);
115+
ft.commit();
116+
}
117+
118+
protected String getUrl() {
119+
StringBuffer url = new StringBuffer("http://javatechig.com");
120+
if (selectedPosition > 0) {
121+
url.append("/topics/" + items[selectedPosition].toLowerCase());
122+
}
123+
return url.toString();
124+
}
125+
126+
@Override
127+
protected void onPostCreate(Bundle savedInstanceState) {
128+
super.onPostCreate(savedInstanceState);
129+
mDrawerToggle.syncState();
130+
}
131+
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
package com.javatechig.navigationdrawer;
2+
3+
import android.app.Fragment;
4+
import android.os.Bundle;
5+
import android.view.LayoutInflater;
6+
import android.view.View;
7+
import android.view.ViewGroup;
8+
import android.webkit.WebView;
9+
import android.webkit.WebViewClient;
10+
11+
public class WebViewFragment extends Fragment {
12+
13+
@Override
14+
public View onCreateView(LayoutInflater inflater, ViewGroup container,
15+
Bundle savedInstanceState) {
16+
17+
/* Retrieving the currently selected item number */
18+
String title = getArguments().getString("title");
19+
20+
/* Updating the action bar title */
21+
getActivity().getActionBar().setTitle(title);
22+
23+
/* Getting the WebView target url */
24+
String url = getArguments().getString("url");
25+
26+
/* Creating view corresponding to the fragment */
27+
View v = inflater.inflate(R.layout.fragment_layout, container, false);
28+
29+
/* Initializing and loading url in WebView */
30+
WebView webView = (WebView)v.findViewById(R.id.webView);
31+
webView.getSettings().setJavaScriptEnabled(true);
32+
webView.setWebViewClient(new MyWebViewClient());
33+
webView.loadUrl(url);
34+
return v;
35+
}
36+
37+
private class MyWebViewClient extends WebViewClient {
38+
@Override
39+
public boolean shouldOverrideUrlLoading(WebView view, String url) {
40+
view.loadUrl(url);
41+
return true;
42+
}
43+
}
44+
}
Loading
Loading
Loading
Loading
Loading
Loading
Loading

0 commit comments

Comments
 (0)