Navigation bar modified; Navigation Drawer UI designed
This commit is contained in:
parent
0c20f7275f
commit
a7a6a09c33
@ -7,6 +7,9 @@ import android.content.ContentResolver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.database.Cursor;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.os.Environment;
|
||||
@ -22,40 +25,24 @@ import android.support.v7.app.ActionBarDrawerToggle;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.widget.Toolbar;
|
||||
import android.text.Html;
|
||||
import android.text.Layout;
|
||||
import android.util.Log;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import org.jsoup.Jsoup;
|
||||
import org.jsoup.nodes.Document;
|
||||
import org.jsoup.select.Elements;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.DataOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.net.CookieHandler;
|
||||
import java.net.CookieManager;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.security.KeyStore;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
public class MainActivity extends AppCompatActivity
|
||||
implements NavigationView.OnNavigationItemSelectedListener {
|
||||
@ -65,6 +52,7 @@ public class MainActivity extends AppCompatActivity
|
||||
TextView messageText;
|
||||
Button uploadButton, choose;
|
||||
EditText editFileName;
|
||||
ImageView imageView;
|
||||
|
||||
String uploadServerUri = null;
|
||||
InputStream in;
|
||||
@ -89,19 +77,12 @@ public class MainActivity extends AppCompatActivity
|
||||
messageText = findViewById(R.id.messageText);
|
||||
editFileName = findViewById(R.id.fileName);
|
||||
button3 = findViewById(R.id.button3);
|
||||
imageView = findViewById(R.id.imageView);
|
||||
|
||||
|
||||
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
|
||||
setSupportActionBar(toolbar);
|
||||
|
||||
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
|
||||
fab.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
|
||||
.setAction("Action", null).show();
|
||||
}
|
||||
});
|
||||
|
||||
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
|
||||
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
|
||||
@ -386,19 +367,38 @@ public class MainActivity extends AppCompatActivity
|
||||
// Handle navigation view item clicks here.
|
||||
int id = item.getItemId();
|
||||
|
||||
if (id == R.id.nav_camera) {
|
||||
// Handle the camera action
|
||||
} else if (id == R.id.nav_gallery) {
|
||||
if (id == R.id.nav_file) {
|
||||
|
||||
} else if (id == R.id.nav_slideshow) {
|
||||
} else if (id == R.id.nav_site) {
|
||||
|
||||
} else if (id == R.id.nav_manage) {
|
||||
} else if (id == R.id.nav_homework) {
|
||||
|
||||
} else if (id == R.id.nav_share) {
|
||||
} else if (id == R.id.nav_email) {
|
||||
|
||||
} else if (id == R.id.nav_send) {
|
||||
} else if (id == R.id.nav_schedule) {
|
||||
|
||||
} else if (id == R.id.nav_info) {
|
||||
|
||||
} else if (id == R.id.nav_passwd) {
|
||||
|
||||
new Thread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Network.httpsRequestPost(Network.CHANGE_PWD_URI, new HashMap<String, String>());
|
||||
final Drawable drawable = Network.getDrawable("https://ldap.ck.tp.edu.tw/admin/code.php");
|
||||
Log.e("TAG", String.valueOf(drawable==null));
|
||||
runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Log.e("TAG_INSIDE", String.valueOf(drawable==null));
|
||||
imageView.setImageDrawable(drawable);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}).start();
|
||||
}
|
||||
Toast.makeText(getApplicationContext(), "你點選了!!", Toast.LENGTH_SHORT).show();
|
||||
|
||||
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
|
||||
drawer.closeDrawer(GravityCompat.START);
|
||||
|
@ -4,6 +4,9 @@ import android.app.Activity;
|
||||
import android.content.ContentResolver;
|
||||
import android.content.Intent;
|
||||
import android.database.Cursor;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.net.Uri;
|
||||
import android.provider.DocumentsContract;
|
||||
import android.support.v4.provider.DocumentFile;
|
||||
@ -19,6 +22,7 @@ import java.io.InputStreamReader;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.net.URLConnection;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
@ -29,6 +33,7 @@ import java.util.Set;
|
||||
public class Network {
|
||||
public static final String LOGIN_URI = "http://study.ck.tp.edu.tw/login_chk.asp";
|
||||
public static final String LOGOUT_URI = "http://study.ck.tp.edu.tw/logout.asp";
|
||||
public static final String CHANGE_PWD_URI = "https://ldap.ck.tp.edu.tw/admin/chpass.php";
|
||||
|
||||
public static String uploadFile(String sourceFileUri, InputStream in, String uploadFileName) {
|
||||
|
||||
@ -377,6 +382,88 @@ public class Network {
|
||||
return response;
|
||||
}
|
||||
|
||||
public static String httpsRequestPost(String uri, Map<String, String> params){
|
||||
URLConnection conn;
|
||||
DataOutputStream dos;
|
||||
String response = null;
|
||||
try {
|
||||
// open a URL connection to the Servlet
|
||||
URL url = new URL(uri);
|
||||
// Open a HTTP connection to the URL
|
||||
conn = url.openConnection();
|
||||
conn.setDoInput(true); // Allow Inputs
|
||||
conn.setDoOutput(true); // Allow Outputs
|
||||
conn.setUseCaches(false); // Don't use a Cached Copy
|
||||
conn.setRequestProperty("Connection", "Keep-Alive");
|
||||
dos = new DataOutputStream(conn.getOutputStream());
|
||||
|
||||
Set keySet = params.keySet();
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (Object objKey : keySet) {
|
||||
//有了鍵就可以通過map集合的get方法獲取其對應的値
|
||||
|
||||
String key = objKey.toString();
|
||||
String value = params.get(key);
|
||||
|
||||
sb.append(key).append("=").append(value).append("&");
|
||||
|
||||
Log.e("Params", "key: " + key + ", value: " + value);
|
||||
}
|
||||
if(params.size() != 0){
|
||||
sb.deleteCharAt(sb.length()-1);
|
||||
}
|
||||
|
||||
Log.e("StringBuilder", sb.toString());
|
||||
dos.writeBytes(sb.toString());
|
||||
|
||||
|
||||
// Responses from the server (code and message)
|
||||
|
||||
try{
|
||||
BufferedReader br;
|
||||
br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8"));
|
||||
sb = new StringBuilder();
|
||||
String output;
|
||||
while ((output = br.readLine()) != null) {
|
||||
sb.append(output);
|
||||
}
|
||||
response = sb.toString();
|
||||
Log.e("Response", response);
|
||||
} catch(java.io.IOException e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
|
||||
dos.flush();
|
||||
dos.close();
|
||||
|
||||
} catch (MalformedURLException e) {
|
||||
|
||||
e.printStackTrace();
|
||||
Log.e("Upload file to server", "error: " + e.getMessage(), e);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
Log.e("Upload", "Exception : "
|
||||
+ e.getMessage(), e);
|
||||
}
|
||||
return response;
|
||||
}
|
||||
public static Drawable getDrawable(String imageUrl)
|
||||
{
|
||||
try
|
||||
{
|
||||
URL url = new URL(imageUrl);
|
||||
URLConnection connection = url.openConnection();
|
||||
connection.setDoInput(true);
|
||||
connection.connect();
|
||||
InputStream input = connection.getInputStream();
|
||||
return Drawable.createFromStream(input, imageUrl);
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
4
app/src/main/res/drawable/ic_account_circle_black.xml
Normal file
4
app/src/main/res/drawable/ic_account_circle_black.xml
Normal file
@ -0,0 +1,4 @@
|
||||
<vector android:height="108dp" android:viewportHeight="24.0"
|
||||
android:viewportWidth="24.0" android:width="108dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="#FF000000" android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,5c1.66,0 3,1.34 3,3s-1.34,3 -3,3 -3,-1.34 -3,-3 1.34,-3 3,-3zM12,19.2c-2.5,0 -4.71,-1.28 -6,-3.22 0.03,-1.99 4,-3.08 6,-3.08 1.99,0 5.97,1.09 6,3.08 -1.29,1.94 -3.5,3.22 -6,3.22z"/>
|
||||
</vector>
|
@ -22,12 +22,5 @@
|
||||
|
||||
<include layout="@layout/content_main" />
|
||||
|
||||
<android.support.design.widget.FloatingActionButton
|
||||
android:id="@+id/fab"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom|end"
|
||||
android:layout_margin="@dimen/fab_margin"
|
||||
app:srcCompat="@android:drawable/ic_dialog_email" />
|
||||
|
||||
</android.support.design.widget.CoordinatorLayout>
|
||||
|
@ -86,4 +86,19 @@
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintGuide_percent="0.5" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/imageView"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="52dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@mipmap/ic_launcher"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/button3" />
|
||||
|
||||
</android.support.constraint.ConstraintLayout>
|
||||
|
@ -1,36 +1,46 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/nav_header_height"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/side_nav_bar"
|
||||
android:gravity="bottom"
|
||||
android:orientation="vertical"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:paddingBottom="@dimen/activity_vertical_margin"
|
||||
android:paddingLeft="@dimen/activity_horizontal_margin"
|
||||
android:paddingRight="@dimen/activity_horizontal_margin"
|
||||
android:paddingTop="@dimen/activity_vertical_margin"
|
||||
android:theme="@style/ThemeOverlay.AppCompat.Dark">
|
||||
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/imageView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="84dp"
|
||||
android:layout_height="84dp"
|
||||
android:paddingTop="@dimen/nav_header_vertical_spacing"
|
||||
app:srcCompat="@mipmap/ic_launcher_round" />
|
||||
android:src="@drawable/ic_account_circle_black" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/userName"
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="@dimen/nav_header_vertical_spacing"
|
||||
android:text="Android Studio"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Body1" />
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/userAccount"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="android.studio@android.com" />
|
||||
<TextView
|
||||
android:id="@+id/userName"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="@dimen/nav_header_vertical_spacing"
|
||||
android:text="Android Studio"
|
||||
android:textAlignment="textStart"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Body1" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/userAccount"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="android.studio@android.com" />
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
@ -3,7 +3,7 @@
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
tools:showIn="navigation_view">
|
||||
|
||||
<group android:checkableBehavior="single">
|
||||
<!--group android:checkableBehavior="single">
|
||||
<item
|
||||
android:id="@+id/nav_camera"
|
||||
android:icon="@drawable/ic_menu_camera"
|
||||
@ -20,18 +20,46 @@
|
||||
android:id="@+id/nav_manage"
|
||||
android:icon="@drawable/ic_menu_manage"
|
||||
android:title="Tools" />
|
||||
</group>
|
||||
</group-->
|
||||
|
||||
<item android:title="Communicate">
|
||||
<item android:title="檔案資源">
|
||||
<menu>
|
||||
<item
|
||||
android:id="@+id/nav_share"
|
||||
android:icon="@drawable/ic_menu_share"
|
||||
android:title="Share" />
|
||||
android:id="@+id/nav_file"
|
||||
android:title="檔案" />
|
||||
<item
|
||||
android:id="@+id/nav_send"
|
||||
android:icon="@drawable/ic_menu_send"
|
||||
android:title="Send" />
|
||||
android:id="@+id/nav_site"
|
||||
android:title="網站" />
|
||||
</menu>
|
||||
</item>
|
||||
|
||||
<item android:title="作業專區">
|
||||
<menu>
|
||||
<item
|
||||
android:id="@+id/nav_homework"
|
||||
android:title="繳交作業" />
|
||||
</menu>
|
||||
</item>
|
||||
|
||||
<item android:title="其他">
|
||||
<menu>
|
||||
<item
|
||||
android:id="@+id/nav_email"
|
||||
android:title="家長Email登錄" />
|
||||
<item
|
||||
android:id="@+id/nav_schedule"
|
||||
android:title="課表查詢(外部連結)" />
|
||||
</menu>
|
||||
</item>
|
||||
|
||||
<item android:title="個人專區">
|
||||
<menu>
|
||||
<item
|
||||
android:id="@+id/nav_info"
|
||||
android:title="個人資訊" />
|
||||
<item
|
||||
android:id="@+id/nav_passwd"
|
||||
android:title="修改密碼" />
|
||||
</menu>
|
||||
</item>
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
<resources>
|
||||
<!-- Default screen margins, per the Android Design guidelines. -->
|
||||
<dimen name="activity_horizontal_margin">16dp</dimen>
|
||||
<dimen name="activity_vertical_margin">16dp</dimen>
|
||||
<dimen name="activity_horizontal_margin">4dp</dimen>
|
||||
<dimen name="activity_vertical_margin">12dp</dimen>
|
||||
<dimen name="nav_header_vertical_spacing">8dp</dimen>
|
||||
<dimen name="nav_header_height">176dp</dimen>
|
||||
<dimen name="fab_margin">16dp</dimen>
|
||||
|
Loading…
x
Reference in New Issue
Block a user