forked from NoireFHC/NHentai-android
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: fython <fython@163.com>
- Loading branch information
0 parents
commit b9e1d5f
Showing
34 changed files
with
1,235 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
.gradle | ||
/local.properties | ||
/.idea | ||
.DS_Store | ||
/build | ||
|
||
*.iml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
/build |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
apply plugin: 'com.android.application' | ||
|
||
android { | ||
compileSdkVersion 22 | ||
buildToolsVersion "22.0.1" | ||
|
||
defaultConfig { | ||
applicationId "moe.feng.nhentai" | ||
minSdkVersion 15 | ||
targetSdkVersion 22 | ||
versionCode 1 | ||
versionName "1.0" | ||
} | ||
buildTypes { | ||
release { | ||
minifyEnabled false | ||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' | ||
} | ||
} | ||
} | ||
|
||
dependencies { | ||
compile fileTree(dir: 'libs', include: ['*.jar']) | ||
compile 'com.android.support:appcompat-v7:22.1.0' | ||
compile 'com.android.support:support-v13:22.1.0' | ||
compile ('com.github.florent37:materialviewpager:1.0.4@aar'){ | ||
transitive = true | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
# Add project specific ProGuard rules here. | ||
# By default, the flags in this file are appended to flags specified | ||
# in E:\Feng\sdk/tools/proguard/proguard-android.txt | ||
# You can edit the include path and order by changing the proguardFiles | ||
# directive in build.gradle. | ||
# | ||
# For more details, see | ||
# http://developer.android.com/guide/developing/tools/proguard.html | ||
|
||
# Add any project specific keep options here: | ||
|
||
# If your project uses WebView with JS, uncomment the following | ||
# and specify the fully qualified class name to the JavaScript interface | ||
# class: | ||
#-keepclassmembers class fqcn.of.javascript.interface.for.webview { | ||
# public *; | ||
#} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" | ||
package="moe.feng.nhentai" > | ||
|
||
<application | ||
android:allowBackup="true" | ||
android:icon="@drawable/ic_launcher" | ||
android:label="@string/app_name" | ||
android:theme="@style/AppTheme" > | ||
<activity | ||
android:name=".ui.MainActivity" | ||
android:label="@string/app_name" > | ||
<intent-filter> | ||
<action android:name="android.intent.action.MAIN" /> | ||
|
||
<category android:name="android.intent.category.LAUNCHER" /> | ||
</intent-filter> | ||
</activity> | ||
</application> | ||
|
||
</manifest> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
package moe.feng.nhentai.model; | ||
|
||
public class Book { | ||
|
||
/** 必须获取到的数据 */ | ||
public String title, other, bookId; | ||
|
||
/** 次要数据 */ | ||
public String previewImageUrl; | ||
|
||
public Book(String title, String other, String bookId) { | ||
this.title = title; | ||
this.other = other; | ||
this.bookId = bookId; | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
package moe.feng.nhentai.ui; | ||
|
||
import android.os.Bundle; | ||
import android.support.v7.app.AppCompatActivity; | ||
import android.support.v7.widget.Toolbar; | ||
import android.view.Menu; | ||
import android.view.MenuItem; | ||
|
||
import com.github.florent37.materialviewpager.MaterialViewPager; | ||
|
||
import moe.feng.nhentai.R; | ||
import moe.feng.nhentai.ui.adapter.HomePagerAdapter; | ||
|
||
public class MainActivity extends AppCompatActivity { | ||
|
||
private MaterialViewPager mPager; | ||
private HomePagerAdapter mPagerAdapter; | ||
|
||
@Override | ||
protected void onCreate(Bundle savedInstanceState) { | ||
super.onCreate(savedInstanceState); | ||
setContentView(R.layout.activity_main); | ||
|
||
mPager = (MaterialViewPager) findViewById(R.id.view_pager); | ||
Toolbar toolbar = mPager.getToolbar(); | ||
if (toolbar != null) { | ||
setSupportActionBar(toolbar); | ||
getSupportActionBar().setDisplayShowTitleEnabled(true); | ||
} | ||
|
||
mPagerAdapter = new HomePagerAdapter(getFragmentManager()); | ||
mPager.getViewPager().setAdapter(mPagerAdapter); | ||
mPager.getPagerTitleStrip().setViewPager(mPager.getViewPager()); | ||
} | ||
|
||
@Override | ||
public boolean onCreateOptionsMenu(Menu menu) { | ||
getMenuInflater().inflate(R.menu.menu_main, menu); | ||
return true; | ||
} | ||
|
||
@Override | ||
public boolean onOptionsItemSelected(MenuItem item) { | ||
int id = item.getItemId(); | ||
return super.onOptionsItemSelected(item); | ||
} | ||
|
||
} |
72 changes: 72 additions & 0 deletions
72
app/src/main/java/moe/feng/nhentai/ui/adapter/BookListRecyclerAdapter.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
package moe.feng.nhentai.ui.adapter; | ||
|
||
import android.view.LayoutInflater; | ||
import android.view.View; | ||
import android.view.ViewGroup; | ||
import android.widget.ImageView; | ||
import android.widget.TextView; | ||
|
||
import java.util.ArrayList; | ||
|
||
import moe.feng.nhentai.R; | ||
import moe.feng.nhentai.model.Book; | ||
import moe.feng.nhentai.ui.common.AbsRecyclerViewAdapter; | ||
import moe.feng.nhentai.util.ColorGenerator; | ||
import moe.feng.nhentai.util.TextDrawable; | ||
|
||
public class BookListRecyclerAdapter extends AbsRecyclerViewAdapter { | ||
|
||
private ArrayList<Book> data; | ||
|
||
private ColorGenerator mColorGenerator; | ||
|
||
public BookListRecyclerAdapter(ArrayList<Book> data) { | ||
super(); | ||
this.data = data; | ||
mColorGenerator = ColorGenerator.MATERIAL; | ||
} | ||
|
||
@Override | ||
public ClickableViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) { | ||
View view = LayoutInflater.from(viewGroup.getContext()) | ||
.inflate(R.layout.list_item_book_card, viewGroup, false); | ||
return new ViewHolder(view); | ||
} | ||
|
||
@Override | ||
public void onBindViewHolder(ClickableViewHolder holder, int position) { | ||
if (holder instanceof ViewHolder) { | ||
ViewHolder mHolder = (ViewHolder) holder; | ||
mHolder.mTitleTextView.setText(data.get(position).title); | ||
mHolder.mOtherTextView.setText(data.get(position).other); | ||
String previewImageUrl = data.get(position).previewImageUrl; | ||
if (previewImageUrl != null) { | ||
// TODO 显示本子的预览图 | ||
} else { | ||
int color = mColorGenerator.getColor(data.get(position).title); | ||
TextDrawable drawable = TextDrawable.builder().buildRound(data.get(position).title.substring(0, 1), color); | ||
mHolder.mPreviewImageView.setImageDrawable(drawable); | ||
} | ||
} | ||
} | ||
|
||
@Override | ||
public int getItemCount() { | ||
return data.size(); | ||
} | ||
|
||
public class ViewHolder extends ClickableViewHolder { | ||
|
||
public ImageView mPreviewImageView; | ||
public TextView mTitleTextView, mOtherTextView; | ||
|
||
public ViewHolder(View itemView) { | ||
super(itemView); | ||
mPreviewImageView = (ImageView) itemView.findViewById(R.id.book_preview); | ||
mTitleTextView = (TextView) itemView.findViewById(R.id.book_title); | ||
mOtherTextView = (TextView) itemView.findViewById(R.id.book_other); | ||
} | ||
|
||
} | ||
|
||
} |
43 changes: 43 additions & 0 deletions
43
app/src/main/java/moe/feng/nhentai/ui/adapter/HomePagerAdapter.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
package moe.feng.nhentai.ui.adapter; | ||
|
||
import android.app.Fragment; | ||
import android.app.FragmentManager; | ||
import android.support.v13.app.FragmentPagerAdapter; | ||
|
||
import moe.feng.nhentai.ui.fragment.DownloadManagerFragment; | ||
import moe.feng.nhentai.ui.fragment.FavoriteFragment; | ||
import moe.feng.nhentai.ui.fragment.HomeFragment; | ||
|
||
public class HomePagerAdapter extends FragmentPagerAdapter { | ||
|
||
private HomeFragment homeFragment; | ||
private DownloadManagerFragment downloadManagerFragment; | ||
private FavoriteFragment favoriteFragment; | ||
|
||
public HomePagerAdapter(FragmentManager fm) { | ||
super(fm); | ||
homeFragment = new HomeFragment(); | ||
downloadManagerFragment = new DownloadManagerFragment(); | ||
favoriteFragment = new FavoriteFragment(); | ||
} | ||
|
||
@Override | ||
public Fragment getItem(int i) { | ||
switch (i) { | ||
case 0: | ||
return homeFragment; | ||
case 1: | ||
return downloadManagerFragment; | ||
case 2: | ||
return favoriteFragment; | ||
default: | ||
return null; | ||
} | ||
} | ||
|
||
@Override | ||
public int getCount() { | ||
return 3; | ||
} | ||
|
||
} |
78 changes: 78 additions & 0 deletions
78
app/src/main/java/moe/feng/nhentai/ui/common/AbsRecyclerViewAdapter.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
package moe.feng.nhentai.ui.common; | ||
|
||
import android.content.Context; | ||
import android.support.v7.widget.RecyclerView; | ||
import android.view.View; | ||
|
||
public abstract class AbsRecyclerViewAdapter extends RecyclerView.Adapter<AbsRecyclerViewAdapter.ClickableViewHolder> { | ||
|
||
private Context context; | ||
|
||
public AbsRecyclerViewAdapter() { | ||
} | ||
|
||
public interface OnItemClickListener { | ||
public void onItemClicked(int position); | ||
} | ||
|
||
public interface OnItemLongClickListener { | ||
public boolean onItemLongClicked(int position); | ||
} | ||
|
||
private OnItemClickListener itemClickListener; | ||
private OnItemLongClickListener itemLongClickListener; | ||
|
||
public void setOnItemClickListener(OnItemClickListener listener) { | ||
this.itemClickListener = listener; | ||
} | ||
|
||
public void setOnItemLongClickListener(OnItemLongClickListener listener) { | ||
this.itemLongClickListener = listener; | ||
} | ||
|
||
public void bindContext(Context context) { | ||
this.context = context; | ||
} | ||
|
||
public Context getContext() { | ||
return this.context; | ||
} | ||
|
||
@Override | ||
public void onBindViewHolder(ClickableViewHolder holder, final int position) { | ||
holder.getParentView().setOnClickListener(new View.OnClickListener() { | ||
@Override | ||
public void onClick(View v) { | ||
if (itemClickListener != null) { | ||
itemClickListener.onItemClicked(position); | ||
} | ||
} | ||
}); | ||
holder.getParentView().setOnLongClickListener(new View.OnLongClickListener() { | ||
@Override | ||
public boolean onLongClick(View v) { | ||
if (itemLongClickListener != null) { | ||
return itemLongClickListener.onItemLongClicked(position); | ||
} else { | ||
return false; | ||
} | ||
} | ||
}); | ||
} | ||
|
||
public class ClickableViewHolder extends RecyclerView.ViewHolder { | ||
|
||
private View parentView; | ||
|
||
public ClickableViewHolder(View itemView) { | ||
super(itemView); | ||
this.parentView = itemView; | ||
} | ||
|
||
public View getParentView() { | ||
return parentView; | ||
} | ||
|
||
} | ||
|
||
} |
25 changes: 25 additions & 0 deletions
25
app/src/main/java/moe/feng/nhentai/ui/fragment/DownloadManagerFragment.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
package moe.feng.nhentai.ui.fragment; | ||
|
||
import android.app.Fragment; | ||
import android.os.Bundle; | ||
import android.support.v7.widget.RecyclerView; | ||
import android.view.LayoutInflater; | ||
import android.view.View; | ||
import android.view.ViewGroup; | ||
|
||
import moe.feng.nhentai.R; | ||
|
||
public class DownloadManagerFragment extends Fragment { | ||
|
||
private RecyclerView mRecyclerView; | ||
|
||
@Override | ||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle state) { | ||
View view = inflater.inflate(R.layout.fragment_home, container, false); | ||
|
||
mRecyclerView = (RecyclerView) view.findViewById(R.id.recylcer_view); | ||
|
||
return view; | ||
} | ||
|
||
} |
25 changes: 25 additions & 0 deletions
25
app/src/main/java/moe/feng/nhentai/ui/fragment/FavoriteFragment.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
package moe.feng.nhentai.ui.fragment; | ||
|
||
import android.app.Fragment; | ||
import android.os.Bundle; | ||
import android.support.v7.widget.RecyclerView; | ||
import android.view.LayoutInflater; | ||
import android.view.View; | ||
import android.view.ViewGroup; | ||
|
||
import moe.feng.nhentai.R; | ||
|
||
public class FavoriteFragment extends Fragment { | ||
|
||
private RecyclerView mRecyclerView; | ||
|
||
@Override | ||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle state) { | ||
View view = inflater.inflate(R.layout.fragment_home, container, false); | ||
|
||
mRecyclerView = (RecyclerView) view.findViewById(R.id.recylcer_view); | ||
|
||
return view; | ||
} | ||
|
||
} |
Oops, something went wrong.