Skip to content

Commit

Permalink
SDTitleLayout
Browse files Browse the repository at this point in the history
  • Loading branch information
SiberiaDante committed Sep 26, 2018
1 parent 566d8e1 commit 169fb82
Show file tree
Hide file tree
Showing 9 changed files with 117 additions and 59 deletions.
41 changes: 1 addition & 40 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -140,43 +140,4 @@ setContentView(***)
```


## [版本更新说明]
* v1.1.5(未发布)
* SDCustomDialog/SDBottomItemDialog/SDEditDialog/SDEnsureDialog:优化过时方法、适配高版本
* SDTitleLayout:增加部分属性
* v1.1.4
* 增加屏幕适配方案,几行代码轻松实现屏幕适配
* SDLineEditText:增加下划线高度、下划线paddingTop
* SDTitleLayout:修复设置左右图片Padding造成的问题
* SDBottomItemDialog:支持Item颜色、字体大小设置;支持底部取消按钮隐藏;支持Item超过7条时滚动显示或者全部显示
* v1.1.3
* SDVerificationCodeView:验证码/密码输入框
* SDTitleLayout 增加动态设置背景颜色,增加相应子View是否可点击等
* v1.1.2
* SDCashierInputFilter:格式化EditText金额输入规则
* SDFlowTagLayout:自适应的标签流式布局,适用于搜索历史、标签等
* v1.1.1
* 增加SDPhotoUtil:拍照、相册操作、裁剪相关工具类
* 增加组件SDRoundImageView:支持设置ImageView圆角、圆形
* SDNormalDecoration增加支持设置左右间距
* v1.1.0
大版本更新,重构项目结构等
* 1.0.8
* 更新SDActivityUtil
* 更新SDDateUtil
* 更新SDNumberUtil
* 更新SDScreenUtil
* 更新SDStringUtil
* 增加SDPhoneUtil
* 增加SDRegexUtil
* 增加SDRegexConstants
* 增加SDSkipLoadView
* 增加SDShapeChangeView
* 增加SDRatingBarView
* 增加SDLetterIndexView
* 1.0.7
* 增加SDBitmapUtil
* 增加SDCustomDialog
* 增加SDLogUtil


## [版本更新说明](https://github.com/SiberiaDante/AndroidUtilLib/wiki/About-Version-Update)
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.siberiadante.androidutil.widget.special;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.content.res.TypedArray;
Expand All @@ -22,6 +23,7 @@
import com.siberiadante.androidutil.util.SDStatusBarUtil;
import com.siberiadante.androidutil.util.SDStringUtil;
import com.siberiadante.androidutil.util.SDTransitionUtil;
import com.siberiadante.androidutil.widget.special.sdtitle.OnMultiTouchListener;


/**
Expand Down Expand Up @@ -162,7 +164,7 @@ public SDTitleLayout(@NonNull Context context, @Nullable AttributeSet attrs, @At
mRightImage = attributes.getResourceId(R.styleable.SDTitleLayout_d_right_image, 0);
mRightImageWidth = attributes.getDimensionPixelSize(R.styleable.SDTitleLayout_d_right_image_width, mRightImageWidth);
mRightImagePaddingEnd = attributes.getDimensionPixelSize(R.styleable.SDTitleLayout_d_right_image_padding_end, mRightImagePaddingEnd);
mRightImagePaddingStart= attributes.getDimensionPixelSize(R.styleable.SDTitleLayout_d_right_image_padding_start, mRightImagePaddingStart);
mRightImagePaddingStart = attributes.getDimensionPixelSize(R.styleable.SDTitleLayout_d_right_image_padding_start, mRightImagePaddingStart);

/*
右侧文字、字体大小、字体颜色、字体左边距
Expand Down Expand Up @@ -260,7 +262,7 @@ private void settingLeftImage() {
mIvLeft.setImageResource(mLeftImage);
//image size
ViewGroup.LayoutParams mIvLeftLayoutParams = mIvLeft.getLayoutParams();
mIvLeftLayoutParams.width = mLeftImageWidth+mLeftImagePaddingStart+mLeftImagePaddingEnd;
mIvLeftLayoutParams.width = mLeftImageWidth + mLeftImagePaddingStart + mLeftImagePaddingEnd;
mIvLeft.setPadding(mLeftImagePaddingStart, 0, mLeftImagePaddingEnd, 0);
mIvLeft.setLayoutParams(mIvLeftLayoutParams);
// mLeftTotalWidth += mLeftImageWidth;
Expand Down Expand Up @@ -322,7 +324,7 @@ private void settingRightImage() {
mTvRight.setVisibility(GONE);
mIvRight.setImageResource(mRightImage);
ViewGroup.LayoutParams mIvRightLayoutParams = mIvRight.getLayoutParams();
mIvRightLayoutParams.width = mRightImageWidth+mRightImagePaddingEnd+mRightImagePaddingStart;
mIvRightLayoutParams.width = mRightImageWidth + mRightImagePaddingEnd + mRightImagePaddingStart;
mIvRight.setLayoutParams(mIvRightLayoutParams);
mIvRight.setPadding(mRightImagePaddingStart, 0, mRightImagePaddingEnd, 0);
} else {
Expand Down Expand Up @@ -378,6 +380,7 @@ private void settingLine() {

/**
* setting title layout background
*
* @param colorRes
*/
public void setTitleLayoutBackground(int colorRes) {
Expand Down Expand Up @@ -638,6 +641,14 @@ public void setTitleClickListener(OnClickListener listener) {
mTvTitle.setOnClickListener(listener);
}

/**
* 标题点击事件
*/
@SuppressLint("ClickableViewAccessibility")
public void setTitleClickListener(OnMultiTouchListener onMultiTouchListener) {
mTvTitle.setOnTouchListener(onMultiTouchListener);
}

/**
* 副标题点击事件
*
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package com.siberiadante.androidutil.widget.special.sdtitle;

import android.annotation.SuppressLint;
import android.os.Handler;
import android.view.MotionEvent;
import android.view.View;

public class OnMultiTouchListener implements View.OnTouchListener {
private int clickCount = 0;
private TitleLayoutListener titleLayoutListener;
private Handler mHandler;

public OnMultiTouchListener(TitleLayoutListener titleLayoutListener) {
this.titleLayoutListener = titleLayoutListener;
mHandler = new Handler();
}

@SuppressLint("ClickableViewAccessibility")
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
clickCount++;
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
if (clickCount == 1) {
titleLayoutListener.onTitleClickListener();
} else if (clickCount == 2) {
titleLayoutListener.onTitleDoubleClickListener();
}
mHandler.removeCallbacksAndMessages(null);
clickCount = 0;

}
}, 500);
}
return false;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package com.siberiadante.androidutil.widget.special.sdtitle;


public interface TitleLayoutListener {

void onTitleClickListener();
void onTitleDoubleClickListener();
}
1 change: 1 addition & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ ext {
leakcanary_android = '1.5.1'
swipebackhelper = '3.1.2'

rxpermissions = '0.9.5@aar'
rxandroid = '2.0.1'
rxjava = '2.1.0'
retrofit2_rxjava2_adapter = '1.0.0'
Expand Down
14 changes: 7 additions & 7 deletions utilsample/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,11 @@ dependencies {
debugImplementation "com.squareup.leakcanary:leakcanary-android:$rootProject.leakcanary_android"
implementation "com.jude:swipebackhelper:$rootProject.swipebackhelper"
implementation project(':androidutil')

// implementation "io.reactivex.rxjava2:rxandroid:$rootProject.rxandroid"
// implementation "io.reactivex.rxjava2:rxjava:$rootProject.rxjava"
// implementation "com.jakewharton.retrofit:retrofit2-rxjava2-adapter:$rootProject.retrofit2_rxjava2_adapter"
// implementation "com.squareup.retrofit2:retrofit:$rootProject.retrofit"
// implementation "com.squareup.retrofit2:converter-gson:$rootProject.converter_gson"
// implementation "com.squareup.okhttp3:logging-interceptor:$rootProject.logging_interceptor"
implementation "com.tbruyelle.rxpermissions2:rxpermissions:$rootProject.rxpermissions"
implementation "io.reactivex.rxjava2:rxandroid:$rootProject.rxandroid"
implementation "io.reactivex.rxjava2:rxjava:$rootProject.rxjava"
implementation "com.jakewharton.retrofit:retrofit2-rxjava2-adapter:$rootProject.retrofit2_rxjava2_adapter"
implementation "com.squareup.retrofit2:retrofit:$rootProject.retrofit"
implementation "com.squareup.retrofit2:converter-gson:$rootProject.converter_gson"
implementation "com.squareup.okhttp3:logging-interceptor:$rootProject.logging_interceptor"
}
2 changes: 1 addition & 1 deletion utilsample/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.INTERNET" />

<application
android:name=".UtilSampleApp"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,30 +1,36 @@
package com.siberiadante.utilsample.activity.util;

import android.Manifest;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.TextView;

import com.siberiadante.androidutil.util.SDDeviceUtil;
import com.siberiadante.androidutil.util.SDLogUtil;
import com.siberiadante.utilsample.R;
import com.siberiadante.utilsample.activity.base.BaseActivity;
import com.siberiadante.utilsample.listener.RequestPermissionCallBack;
import com.tbruyelle.rxpermissions2.RxPermissions;


import java.util.HashMap;
import java.util.List;

import butterknife.BindView;
import io.reactivex.functions.Consumer;

/**
* Created:: SiberiaDante
*
* @Date: 2018/01/01
* Describe:
* @github: https://github.com/SiberiaDante
* @博客园: http://www.cnblogs.com/shen-hua/
*/
public class SDDeviceUtilActivity extends BaseActivity {
public class SDDeviceUtilActivity extends BaseActivity {

private static final int ADD_CONTENT = 0x01;
@BindView(R.id.tv_result)
Expand Down Expand Up @@ -52,6 +58,29 @@ public int setLayoutId() {

@Override
public void initView(Bundle savedInstanceState) {
checkPermission1();
}

@SuppressLint("CheckResult")
private void checkPermission1() {
RxPermissions rxPermissions = new RxPermissions(this);
rxPermissions.request(Manifest.permission.READ_PHONE_STATE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.WRITE_CONTACTS,
Manifest.permission.READ_CONTACTS)
.subscribe(new Consumer<Boolean>() {
@Override
public void accept(Boolean aBoolean) throws Exception {
SDLogUtil.d("--------------" + aBoolean);
if (aBoolean) {
showResult();
}
showResult();
}
});
}

private void showResult() {
builder = new StringBuilder();
builder.append("SDDeviceUtil获取结果:\n")
.append("获取安卓手机系统版本号:").append(SDDeviceUtil.getAndroidSystemVersion()).append("\n")
Expand Down Expand Up @@ -96,4 +125,5 @@ public void run() {
tvResult.setText(builder);
}


}
22 changes: 15 additions & 7 deletions utilsample/src/main/res/layout/activity_sddevice_util.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,19 @@
android:layout_height="match_parent"
tools:context="com.siberiadante.utilsample.activity.util.SDDeviceUtilActivity">

<TextView
android:id="@+id/tv_result"
style="@style/CustomTextView"
android:padding="@dimen/page_padding_16"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

<TextView
android:id="@+id/tv_result"
style="@style/CustomTextView"
android:layout_marginTop="10dp"
android:padding="@dimen/page_padding_16"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</LinearLayout>

</ScrollView>

0 comments on commit 169fb82

Please sign in to comment.