Skip to content

Commit

Permalink
升级support; 添加Fragment示例
Browse files Browse the repository at this point in the history
  • Loading branch information
baiiu committed Jan 8, 2018
1 parent 3e788eb commit 445a23a
Show file tree
Hide file tree
Showing 11 changed files with 164 additions and 86 deletions.
18 changes: 9 additions & 9 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
apply plugin: 'com.android.application'

android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
compileSdkVersion 25

defaultConfig {
applicationId "com.baiiu.dropdownmenu"
minSdkVersion 15
targetSdkVersion 23
targetSdkVersion 25
versionCode 1
versionName "1.0"
}
Expand All @@ -20,10 +19,11 @@ android {
}

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile project(':filter-lib')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.jakewharton:butterknife:7.0.1'
compile 'com.android.support:recyclerview-v7:23.4.0'
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation project(':filter-lib')
testImplementation 'junit:junit:4.12'
implementation 'com.android.support:appcompat-v7:25.4.0'
implementation 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
implementation 'com.android.support:recyclerview-v7:25.4.0'
}
3 changes: 3 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>

<activity android:name=".fragmentSample.FilterActivity"/>

</application>

</manifest>
42 changes: 23 additions & 19 deletions app/src/main/java/com/baiiu/dropdownmenu/MainActivity.java
Original file line number Diff line number Diff line change
@@ -1,27 +1,24 @@
package com.baiiu.dropdownmenu;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.TextView;

import butterknife.BindView;
import butterknife.ButterKnife;
import com.baiiu.dropdownmenu.entity.FilterUrl;
import com.baiiu.dropdownmenu.fragmentSample.FilterActivity;
import com.baiiu.filter.DropDownMenu;
import com.baiiu.filter.interfaces.OnFilterDoneListener;

import butterknife.Bind;
import butterknife.ButterKnife;

public class MainActivity extends AppCompatActivity implements OnFilterDoneListener {

@Bind(R.id.dropDownMenu)
DropDownMenu dropDownMenu;
public class MainActivity extends AppCompatActivity implements OnFilterDoneListener, View.OnClickListener {

@Bind(R.id.mFilterContentView)
TextView mFilterContentView;
@BindView(R.id.dropDownMenu) DropDownMenu dropDownMenu;
@BindView(R.id.mFilterContentView) TextView mFilterContentView;

@Override
protected void onCreate(Bundle savedInstanceState) {
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
Expand All @@ -30,26 +27,33 @@ protected void onCreate(Bundle savedInstanceState) {
setSupportActionBar(toolbar);

initFilterDropDownView();

mFilterContentView.setOnClickListener(this);
}

private void initFilterDropDownView() {
String[] titleList = new String[]{"第一个", "第二个", "第三个", "第四个"};
String[] titleList = new String[] { "第一个", "第二个", "第三个", "第四个" };
dropDownMenu.setMenuAdapter(new DropMenuAdapter(this, titleList, this));
}

@Override
public void onFilterDone(int position, String positionTitle, String urlValue) {
@Override public void onFilterDone(int position, String positionTitle, String urlValue) {
if (position != 3) {
dropDownMenu.setPositionIndicatorText(FilterUrl.instance().position, FilterUrl.instance().positionTitle);
}

dropDownMenu.close();
mFilterContentView.setText(FilterUrl.instance().toString());
mFilterContentView.setText(FilterUrl.instance()
.toString());
}

@Override
protected void onDestroy() {
@Override protected void onDestroy() {
super.onDestroy();
FilterUrl.instance().clear();
FilterUrl.instance()
.clear();
}

@Override public void onClick(View view) {
startActivity(new Intent(this, FilterActivity.class));
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package com.baiiu.dropdownmenu.fragmentSample;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;

/**
* author: baiiu
* date: on 18/1/8 11:56
* description:
*/
public class FilterActivity extends AppCompatActivity {

@Override protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

getSupportFragmentManager().beginTransaction()
.replace(android.R.id.content, new FilterFragment(), FilterFragment.class.getCanonicalName())
.commitAllowingStateLoss();
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
package com.baiiu.dropdownmenu.fragmentSample;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.widget.Toolbar;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import butterknife.BindView;
import butterknife.ButterKnife;
import com.baiiu.dropdownmenu.DropMenuAdapter;
import com.baiiu.dropdownmenu.R;
import com.baiiu.dropdownmenu.entity.FilterUrl;
import com.baiiu.filter.DropDownMenu;
import com.baiiu.filter.interfaces.OnFilterDoneListener;

/**
* author: baiiu
* date: on 18/1/8 11:52
* description:
*/
public class FilterFragment extends Fragment implements OnFilterDoneListener {

@BindView(R.id.dropDownMenu) DropDownMenu dropDownMenu;
@BindView(R.id.mFilterContentView) TextView mFilterContentView;
@BindView(R.id.toolbar) Toolbar mToolbar;

@Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {

View view = inflater.inflate(R.layout.activity_main, container, false);
ButterKnife.bind(this, view);

mToolbar.setTitle(R.string.app_name);

return view;
}

@Override public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
initFilterDropDownView();
}

private void initFilterDropDownView() {
String[] titleList = new String[] { "第一个", "第二个", "第三个", "第四个" };
dropDownMenu.setMenuAdapter(new DropMenuAdapter(getContext(), titleList, this));
}

@Override public void onFilterDone(int position, String positionTitle, String urlValue) {
if (position != 3) {
dropDownMenu.setPositionIndicatorText(FilterUrl.instance().position, FilterUrl.instance().positionTitle);
}

dropDownMenu.close();
mFilterContentView.setText(FilterUrl.instance()
.toString());
}

@Override public void onDestroy() {
super.onDestroy();
FilterUrl.instance()
.clear();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,26 +10,22 @@
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;

import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import com.baiiu.dropdownmenu.R;
import com.baiiu.dropdownmenu.entity.FilterUrl;
import com.baiiu.filter.interfaces.OnFilterDoneListener;

import java.util.List;

import butterknife.Bind;
import butterknife.ButterKnife;
import butterknife.OnClick;

/**
* auther: baiiu
* time: 16/6/5 05 23:03
* description:
*/
public class BetterDoubleGridView extends LinearLayout implements View.OnClickListener {

@Bind(R.id.recyclerView)
RecyclerView recyclerView;
@BindView(R.id.recyclerView) RecyclerView recyclerView;

private List<String> mTopGridData;
private List<String> mBottomGridList;
Expand All @@ -51,8 +47,7 @@ public BetterDoubleGridView(Context context, AttributeSet attrs, int defStyleAtt
}

@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public BetterDoubleGridView(Context context, AttributeSet attrs, int defStyleAttr,
int defStyleRes) {
public BetterDoubleGridView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
init(context);
}
Expand All @@ -78,8 +73,7 @@ public BetterDoubleGridView build() {

GridLayoutManager gridLayoutManager = new GridLayoutManager(this.getContext(), 4);
gridLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
@Override public int getSpanSize(int position) {
if (position == 0 || position == mTopGridData.size() + 1) {
return 4;
}
Expand All @@ -95,8 +89,7 @@ public int getSpanSize(int position) {
private TextView mTopSelectedTextView;
private TextView mBottomSelectedTextView;

@Override
public void onClick(View v) {
@Override public void onClick(View v) {

TextView textView = (TextView) v;
String text = (String) textView.getTag();
Expand Down Expand Up @@ -128,16 +121,15 @@ public BetterDoubleGridView setOnFilterDoneListener(OnFilterDoneListener listene
return this;
}

@OnClick(R.id.bt_confirm)
public void clickDone() {
@OnClick(R.id.bt_confirm) public void clickDone() {

FilterUrl.instance().doubleGridTop = mTopSelectedTextView == null ? "" : (String) mTopSelectedTextView.getTag();
FilterUrl.instance().doubleGridBottom = mBottomSelectedTextView == null ? "" : (String) mBottomSelectedTextView.getTag();
FilterUrl.instance().doubleGridBottom =
mBottomSelectedTextView == null ? "" : (String) mBottomSelectedTextView.getTag();

if (mOnFilterDoneListener != null) {
mOnFilterDoneListener.onFilterDone(3, "", "");
}
}


}
Original file line number Diff line number Diff line change
Expand Up @@ -8,34 +8,26 @@
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.ScrollView;

import butterknife.BindView;
import butterknife.ButterKnife;
import com.baiiu.dropdownmenu.R;
import com.baiiu.dropdownmenu.entity.FilterUrl;
import com.baiiu.filter.adapter.SimpleTextAdapter;
import com.baiiu.filter.interfaces.OnFilterDoneListener;
import com.baiiu.filter.util.CommonUtil;
import com.baiiu.filter.util.UIUtil;
import com.baiiu.filter.view.FilterCheckedTextView;
import com.baiiu.dropdownmenu.R;
import com.baiiu.dropdownmenu.entity.FilterUrl;

import java.util.List;

import butterknife.Bind;
import butterknife.ButterKnife;

/**
* Created by baiiu on 15/12/22.
* 筛选器GridView
*/
public class DoubleGridView extends ScrollView implements View.OnClickListener {

@Bind(R.id.grid_top)
GridViewInScrollView mTopGrid;

@Bind(R.id.grid_bottom)
GridViewInScrollView mBottomGrid;

@Bind(R.id.bt_confirm)
Button bt_confirm;
@BindView(R.id.grid_top) GridViewInScrollView mTopGrid;
@BindView(R.id.grid_bottom) GridViewInScrollView mBottomGrid;
@BindView(R.id.bt_confirm) Button bt_confirm;

private SimpleTextAdapter<String> mTopAdapter;
private SimpleTextAdapter<String> mBottomAdapter;
Expand Down Expand Up @@ -71,36 +63,31 @@ private void init(Context context) {
private void initAdapter(Context context) {

mTopAdapter = new SimpleTextAdapter<String>(null, context) {
@Override
public String provideText(String phase) {
@Override public String provideText(String phase) {
return phase;
}

@Override
protected void initCheckedTextView(FilterCheckedTextView checkedTextView) {
@Override protected void initCheckedTextView(FilterCheckedTextView checkedTextView) {
checkedTextView.setPadding(0, UIUtil.dp(context, 3), 0, UIUtil.dp(context, 3));
checkedTextView.setGravity(Gravity.CENTER);
checkedTextView.setBackgroundResource(R.drawable.selector_filter_grid);
}
};

mBottomAdapter = new SimpleTextAdapter<String>(null, context) {
@Override
public String provideText(String area) {
@Override public String provideText(String area) {
return area;
}

@Override
protected void initCheckedTextView(FilterCheckedTextView checkedTextView) {
@Override protected void initCheckedTextView(FilterCheckedTextView checkedTextView) {
checkedTextView.setPadding(0, UIUtil.dp(context, 3), 0, UIUtil.dp(context, 3));
checkedTextView.setBackgroundResource(R.drawable.selector_filter_grid);
checkedTextView.setGravity(Gravity.CENTER);
}
};

mTopGrid.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
@Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
}
});
}
Expand All @@ -121,8 +108,7 @@ public void setBottomGridList(List<String> list) {
mBottomAdapter.setList(list);
}

@Override
public void onClick(View v) {
@Override public void onClick(View v) {
int topPosition = mTopGrid.getCheckedItemPosition();
topPosition = topPosition == -1 ? 0 : topPosition;

Expand Down
Loading

0 comments on commit 445a23a

Please sign in to comment.