82 lines
2.8 KiB
Plaintext
82 lines
2.8 KiB
Plaintext
import LinearLayout from 'android.widget.LinearLayout';
|
|
import Context from 'android.content.Context'
|
|
import RelativeLayout from 'android.widget.RelativeLayout';
|
|
import ViewGroup from 'android.view.ViewGroup';
|
|
import View from 'android.view.View';
|
|
import Color from 'android.graphics.Color';
|
|
import Gravity from 'android.view.Gravity';
|
|
import GradientDrawable from 'android.graphics.drawable.GradientDrawable';
|
|
import TextView from 'android.widget.TextView';
|
|
import Typeface from 'android.graphics.Typeface';
|
|
import TextUtils from 'android.text.TextUtils';
|
|
import Uri from 'android.net.Uri';
|
|
import ObjectAnimator from 'android.animation.ObjectAnimator';
|
|
import ValueAnimator from 'android.animation.ValueAnimator';
|
|
import TimeInterpolator from 'android.animation.TimeInterpolator';
|
|
import MotionEvent from 'android.view.MotionEvent';
|
|
import { hexToRgb } from "../libs/color.uts"
|
|
import ViewPropertyAnimator from 'android.view.ViewPropertyAnimator';
|
|
import ScrollView from 'android.widget.ScrollView';
|
|
import AccelerateDecelerateInterpolator from 'android.view.animation.AccelerateDecelerateInterpolator';
|
|
// #ifdef UNI-APP-X
|
|
import getCurrentPages from 'io.dcloud.uniapp.framework.getCurrentPages';
|
|
import onReady from 'io.dcloud.uniapp.framework.onReady';
|
|
import onUnload from 'io.dcloud.uniapp.framework.onUnload';
|
|
import onShow from 'io.dcloud.uniapp.framework.onShow';
|
|
import Visibility from 'android.transition.Visibility';
|
|
// #endif
|
|
|
|
|
|
export class ManiWinFloat {
|
|
contentView:View|null = null;
|
|
parentView:LinearLayout|null = null;
|
|
contentWrap:ScrollView|null = null;
|
|
constructor(){
|
|
this._createRootView();
|
|
}
|
|
getContext():Context{
|
|
const context = UTSAndroid.getAppContext()! as Context
|
|
return context;
|
|
}
|
|
getWinRoot():ViewGroup{
|
|
let decorView = UTSAndroid.getUniActivity()!.window.decorView as ViewGroup
|
|
return decorView;
|
|
}
|
|
setContent(view:View){
|
|
this.contentView = view;
|
|
this.contentWrap?.addView(view)
|
|
console.log(view)
|
|
}
|
|
show(){
|
|
this.parentView?.setVisibility(View.VISIBLE)
|
|
}
|
|
hide(){}
|
|
destroy(){
|
|
|
|
}
|
|
|
|
_createRootView(){
|
|
// 内容容器
|
|
let container = new LinearLayout(this.getContext());
|
|
|
|
let containerLayrPrams = new LinearLayout.LayoutParams(
|
|
ViewGroup.LayoutParams.MATCH_PARENT,
|
|
ViewGroup.LayoutParams.MATCH_PARENT
|
|
)
|
|
container.setLayoutParams(containerLayrPrams)
|
|
container.setBackgroundColor(Color.GREEN)
|
|
container.setOrientation(LinearLayout.VERTICAL)
|
|
// container.setGravity(Gravity.CENTER)
|
|
container.setVisibility(View.GONE)
|
|
container.setAlpha((0.3).toFloat())
|
|
|
|
// 滚动容器
|
|
let scroll = new ScrollView(this.getContext())
|
|
scroll.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT))
|
|
this.contentWrap = scroll;
|
|
container.addView(scroll)
|
|
this.parentView = container;
|
|
this.getWinRoot().addView(this.parentView)
|
|
|
|
}
|
|
} |