Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit d46faa6

Browse files
author
Nilanchal Panigrahy
committed
Consolidated all UI examples into single repo
1 parent 8a2addc commit d46faa6

File tree

29 files changed

+515
-0
lines changed

29 files changed

+515
-0
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# AndroidN-Quick-Settings-Tile-Example
2+
In this tutorial we will see how to use the Quick Settings Tile API in Android N to register a custom tile action. The sample application will add a custom action to quick settings and when clicked it will launch an activity
3+
Read blog post here. http://stacktips.com/tutorials/android/quick-settings-tile-api-example-in-android-n
4+
5+
![alt Android Quick Settings Tile in Android N](http://stacktips.com/wp-content/uploads/2016/08/Quick-Settings-Tile-API-Example-810x480.jpg)
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/build
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
apply plugin: 'com.android.application'
2+
3+
android {
4+
compileSdkVersion 24
5+
buildToolsVersion "23.0.3"
6+
defaultConfig {
7+
applicationId "com.stacktips.quicksettingstileexample"
8+
minSdkVersion 24
9+
targetSdkVersion 24
10+
versionCode 1
11+
versionName "1.0"
12+
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
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+
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
25+
exclude group: 'com.android.support', module: 'support-annotations'
26+
})
27+
compile 'com.android.support:appcompat-v7:24.1.1'
28+
compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha4'
29+
testCompile 'junit:junit:4.12'
30+
}
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 /Users/nilanchalpanigrahy/Library/Android/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: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3+
package="com.stacktips.quicksettingstileexample">
4+
5+
<application
6+
android:allowBackup="true"
7+
android:icon="@mipmap/ic_launcher"
8+
android:label="@string/app_name"
9+
android:supportsRtl="true"
10+
android:theme="@style/AppTheme">
11+
12+
<activity android:name="com.stacktips.example.MainActivity">
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+
<service
21+
android:name="com.stacktips.example.MyAppTileService"
22+
android:icon="@drawable/tile_icon"
23+
android:label="@string/tile_label"
24+
android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
25+
<intent-filter>
26+
<action android:name="android.service.quicksettings.action.QS_TILE" />
27+
</intent-filter>
28+
</service>
29+
</application>
30+
31+
</manifest>
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package com.stacktips.example;
2+
3+
import android.support.v7.app.AppCompatActivity;
4+
import android.os.Bundle;
5+
6+
import com.stacktips.quicksettingstileexample.R;
7+
8+
public class MainActivity extends AppCompatActivity {
9+
10+
@Override
11+
protected void onCreate(Bundle savedInstanceState) {
12+
super.onCreate(savedInstanceState);
13+
setContentView(R.layout.activity_main);
14+
}
15+
}
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
package com.stacktips.example;
2+
3+
import android.content.Intent;
4+
import android.service.quicksettings.TileService;
5+
6+
/**
7+
* Created by Nilanchala Panigrahy on 8/10/16.
8+
*/
9+
public class MyAppTileService extends TileService {
10+
@Override
11+
public void onDestroy() {
12+
super.onDestroy();
13+
}
14+
15+
/**
16+
* Called when the tile is added to the quick settings from the edit interface by the user. If
17+
* you keep track of added tiles, override this and update it.
18+
* <p>
19+
* Return either TILE_MODE_ACTIVE or TILE_MODE_PASSIVE depending on your requirements
20+
*/
21+
@Override
22+
public void onTileAdded() {
23+
super.onTileAdded();
24+
}
25+
26+
/**
27+
* Called when the tile is removed from the quick settings using the edit interface. Similarly
28+
* to onTileAdded, override this and update your tracking here if you need to
29+
*/
30+
@Override
31+
public void onTileRemoved() {
32+
super.onTileRemoved();
33+
}
34+
35+
/**
36+
* Called when the tile is brought into the listening state. Update it with your icon and title
37+
* here, using getQsTile to get the tile (see below)
38+
*/
39+
@Override
40+
public void onStartListening() {
41+
super.onStartListening();
42+
}
43+
44+
/**
45+
* Called when the tile is brought out of the listening state. This represents when getQsTile
46+
* will now return null.
47+
*/
48+
@Override
49+
public void onStopListening() {
50+
super.onStopListening();
51+
}
52+
53+
/**
54+
* Called when the tile is clicked. Can be called multiple times in short succession, so double
55+
* click (and beyond) is possible
56+
*/
57+
@Override
58+
public void onClick() {
59+
super.onClick();
60+
61+
//Start main activity
62+
Intent intent = new Intent(this, MainActivity.class);
63+
startActivity(intent);
64+
}
65+
}
2.1 KB
Loading[フレーム]
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<android.support.constraint.ConstraintLayout
3+
xmlns:android="http://schemas.android.com/apk/res/android"
4+
xmlns:app="http://schemas.android.com/apk/res-auto"
5+
android:id="@+id/activity_main"
6+
android:layout_width="match_parent"
7+
android:layout_height="match_parent">
8+
9+
<TextView
10+
android:layout_width="wrap_content"
11+
android:layout_height="wrap_content"
12+
android:text="@string/hint"
13+
app:layout_constraintBottom_toBottomOf="@+id/activity_main"
14+
app:layout_constraintLeft_toLeftOf="@+id/activity_main"
15+
app:layout_constraintRight_toRightOf="@+id/activity_main"
16+
app:layout_constraintTop_toTopOf="@+id/activity_main"/>
17+
18+
</android.support.constraint.ConstraintLayout>
3.34 KB
Loading[フレーム]

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /