Skip to content

Commit

Permalink
Merge pull request #58 from JeasonWong/master
Browse files Browse the repository at this point in the history
support show activity's fragment tree
  • Loading branch information
JeasonWong authored Jun 27, 2019
2 parents 122c035 + d1581f7 commit 33eb9a0
Show file tree
Hide file tree
Showing 20 changed files with 437 additions and 76 deletions.
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ At present, UETool provides functionality as follows:
- Show gridding for checking view alignment
- Support Android P
- Support show view's current Fragment
- Show activity's Fragment tree

## EFFECT

Expand Down Expand Up @@ -83,11 +84,11 @@ At present, UETool provides functionality as follows:

```gradle
dependencies {
debugImplementation 'me.ele:uetool:1.1.5'
releaseImplementation 'me.ele:uetool-no-op:1.1.5'
debugImplementation 'me.ele:uetool:1.1.9'
releaseImplementation 'me.ele:uetool-no-op:1.1.9'
// if you want to show more attrs about Fresco's DraweeView
debugImplementation 'me.ele:uetool-fresco:1.1.5'
debugImplementation 'me.ele:uetool-fresco:1.1.9'
}
```

Expand Down
7 changes: 4 additions & 3 deletions README_zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ UETool 是一个各方人员(设计师、程序员、测试)都可以使用
- 显示网格栅栏,方便查看控件是否对齐
- 支持 Android P
- 支持显示当前控件所在的 Fragment
- 显示 Activity 的 Fragment 树

## 效果

Expand Down Expand Up @@ -80,11 +81,11 @@ UETool 是一个各方人员(设计师、程序员、测试)都可以使用

```gradle
dependencies {
debugImplementation 'me.ele:uetool:1.1.5'
releaseImplementation 'me.ele:uetool-no-op:1.1.5'
debugImplementation 'me.ele:uetool:1.1.9'
releaseImplementation 'me.ele:uetool-no-op:1.1.9'
// if you want to show more attrs about Fresco's DraweeView
debugImplementation 'me.ele:uetool-fresco:1.1.5'
debugImplementation 'me.ele:uetool-fresco:1.1.9'
}
```

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,11 @@ class FragmentSampleFragment : Fragment() {
super.onActivityCreated(savedInstanceState)
viewModel = ViewModelProviders.of(this).get(FragmentSampleViewModel::class.java)
// TODO: Use the ViewModel

childFragmentManager.beginTransaction()
.replace(R.id.container, FragmentSampleFragment2.newInstance())
.commitNow()

}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package me.ele.uetool.sample.ui.fragmentsample

import android.os.Bundle
import android.support.v4.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import me.ele.uetool.sample.R

class FragmentSampleFragment2 : Fragment() {

companion object {
fun newInstance() = FragmentSampleFragment2()
}

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View {
return inflater.inflate(R.layout.fragment_sample_fragment, container, false)
}

override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)

}

}
23 changes: 13 additions & 10 deletions app/src/main/res/layout/fragment_sample_fragment.xml
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
<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:id="@+id/fragmentsample"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.fragmentsample.FragmentSampleFragment">
android:orientation="vertical">

<TextView
android:id="@+id/message"
Expand All @@ -18,10 +16,15 @@
android:id="@+id/message2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="FragmentSampleFragment2"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
android:textSize="20dp"
android:layout_marginTop="10dp"
android:text="FragmentSampleFragment2"/>

</android.support.constraint.ConstraintLayout>
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#60688fdb"
android:layout_margin="30dp"/>

</LinearLayout>
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ buildscript {
'supportLibrary': '27.1.1',
'fresco' : '1.0.1',

'release' : '1.1.5',]
'release' : '1.1.9',]
repositories {
jcenter()
google()
Expand Down
15 changes: 15 additions & 0 deletions uetool-base/src/main/java/me/ele/uetool/base/item/TextItem.java
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
package me.ele.uetool.base.item;

import android.support.annotation.Nullable;
import android.text.TextUtils;
import android.view.View;

public class TextItem extends TitleItem {

private String detail;
private boolean enableCopy;
private View.OnClickListener onClickListener;

public TextItem(String name, String detail) {
super(name);
Expand All @@ -18,14 +21,26 @@ public TextItem(String name, String detail, boolean enableCopy) {
this.enableCopy = enableCopy;
}

public TextItem(String name, String detail, View.OnClickListener onClickListener) {
super(name);
this.detail = detail;
this.onClickListener = onClickListener;
}

public String getDetail() {
return detail;
}

// 是否可复制文案
public boolean isEnableCopy() {
return enableCopy;
}

@Nullable
public View.OnClickListener getOnClickListener() {
return onClickListener;
}

@Override
public boolean isValid() {
if (TextUtils.isEmpty(detail)) {
Expand Down
6 changes: 5 additions & 1 deletion uetool-fresco/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,15 @@ android {
defaultConfig {
minSdkVersion versions.minSdk
}

lintOptions {
abortOnError false
}
}

dependencies {
implementation project(':uetool-base')
// implementation "me.ele:uetool-base:${versions.release}"
// implementation "me.ele:uetool-base:${versions.release}"
compileOnly "com.facebook.fresco:fresco:${versions.fresco}"
}

Expand Down
1 change: 1 addition & 0 deletions uetool/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ dependencies {
implementation "com.android.support:recyclerview-v7:${versions.supportLibrary}"
implementation "com.android.support:support-v4:${versions.supportLibrary}"
implementation 'com.jakewharton.scalpel:scalpel:1.1.2'
implementation 'com.github.bmelnychuk:atv:1.2.9'
}

publish {
Expand Down
60 changes: 24 additions & 36 deletions uetool/src/main/java/me/ele/uetool/AttrsDialog.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Typeface;
import android.os.Bundle;
import android.support.annotation.IntDef;
Expand All @@ -13,46 +14,26 @@
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.SwitchCompat;
import android.text.Editable;
import android.text.Html;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.view.*;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import me.ele.uetool.base.Element;
import me.ele.uetool.base.IAttrs;
import me.ele.uetool.base.ItemArrayList;
import me.ele.uetool.base.item.*;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
import java.util.List;

import me.ele.uetool.base.Element;
import me.ele.uetool.base.IAttrs;
import me.ele.uetool.base.ItemArrayList;
import me.ele.uetool.base.item.AddMinusEditItem;
import me.ele.uetool.base.item.BitmapItem;
import me.ele.uetool.base.item.BriefDescItem;
import me.ele.uetool.base.item.EditTextItem;
import me.ele.uetool.base.item.Item;
import me.ele.uetool.base.item.SwitchItem;
import me.ele.uetool.base.item.TextItem;
import me.ele.uetool.base.item.TitleItem;

import static me.ele.uetool.AttrsDialog.Adapter.ViewType.TYPE_ADD_MINUS_EDIT;
import static me.ele.uetool.AttrsDialog.Adapter.ViewType.TYPE_BITMAP;
import static me.ele.uetool.AttrsDialog.Adapter.ViewType.TYPE_BRIEF_DESC;
import static me.ele.uetool.AttrsDialog.Adapter.ViewType.TYPE_EDIT_TEXT;
import static me.ele.uetool.AttrsDialog.Adapter.ViewType.TYPE_SWITCH;
import static me.ele.uetool.AttrsDialog.Adapter.ViewType.TYPE_TEXT;
import static me.ele.uetool.AttrsDialog.Adapter.ViewType.TYPE_TITLE;
import static me.ele.uetool.base.DimenUtil.dip2px;
import static me.ele.uetool.base.DimenUtil.getScreenHeight;
import static me.ele.uetool.base.DimenUtil.getScreenWidth;
import static me.ele.uetool.AttrsDialog.Adapter.ViewType.*;
import static me.ele.uetool.base.DimenUtil.*;

public class AttrsDialog extends Dialog {

Expand Down Expand Up @@ -293,15 +274,22 @@ public static TextViewHolder newInstance(ViewGroup parent) {
public void bindView(final TextItem textItem) {
super.bindView(textItem);
vName.setText(textItem.getName());
vDetail.setText(textItem.getDetail());
vDetail.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (textItem.isEnableCopy()) {
Util.clipText(textItem.getDetail());
}
final String detail = textItem.getDetail();
if (textItem.getOnClickListener() != null) {
vDetail.setText(Html.fromHtml("<u>" + detail + "</u>"));
vDetail.setOnClickListener(textItem.getOnClickListener());
} else {
vDetail.setText(detail);
if (textItem.isEnableCopy()) {
vDetail.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Util.clipText(detail);
}
});
}
});
}

}
}

Expand Down
14 changes: 9 additions & 5 deletions uetool/src/main/java/me/ele/uetool/EditAttrLayout.java
Original file line number Diff line number Diff line change
Expand Up @@ -75,15 +75,19 @@ public boolean onTouchEvent(MotionEvent event) {
protected void onDetachedFromWindow() {
super.onDetachedFromWindow();
targetElement = null;
if (dialog != null) {
dialog.dismiss();
}
dismissAttrsDialog();
}

public void setOnDragListener(OnDragListener onDragListener) {
this.onDragListener = onDragListener;
}

public void dismissAttrsDialog() {
if (dialog != null) {
dialog.dismiss();
}
}

class MoveMode implements IMode {

@Override
Expand Down Expand Up @@ -162,7 +166,7 @@ public void triggerActionUp(final MotionEvent event) {
@Override
public void enableMove() {
mode = new MoveMode();
dialog.dismiss();
dismissAttrsDialog();
}

@Override
Expand All @@ -178,7 +182,7 @@ public void showValidViews(int position, boolean isChecked) {
@Override
public void selectView(Element element) {
targetElement = element;
dialog.dismiss();
dismissAttrsDialog();
dialog.show(targetElement);
}
});
Expand Down
Loading

0 comments on commit 33eb9a0

Please sign in to comment.