让你在开发中爱不释手的 GT 包。关注GSLS官网,查看更多源码 ヾ(✿゚▽゚)ノ工具包。
所有文章 小编尽量让读者可以 直接 读懂 与 完全 复制粘贴,其中复杂或较多 的源码 会有 源码 并 贴上 github 网址。
GT 类 里面的源码完全开源,较多的中文注释,让更多的人直接读懂。
点个关注点个赞呗(〃'▽'〃),关注博主最新发布库: https://github.com/1079374315/GSLS_Tool
美帝 框架,让创造变得如此简单!
当你依赖GT库后就可以进行以下操作了
public static void startGameWindow(Activity activity)//开启游戏窗体模式
public static void startGameWindows(final Activity activity)//开启永久的游戏窗口模式(不推荐使用)
遥感组件:
效果图:
第一步:写入 xml 布局中
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:textSize="24sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
/>
<view
android:id="@+id/rv"
class="com.gsls.gt.GT$Game$RockerView"
android:layout_width="200dp"
android:layout_height="200dp"
app:rockerBackground="#FF9800"
app:rockerRadius="50dp"
app:areaBackground="#2196F3"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.54"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.934" />
</androidx.constraintlayout.widget.ConstraintLayout>
第二步: 获取组件进行监听
@GT.Annotations.GT_Activity(R.layout.activity_main)
public class MainActivity extends GT.AnnotationActivity {
@GT.Annotations.GT_View(R.id.tv)
private TextView tv;
@GT.Annotations.GT_View(R.id.rv)
GT.Game.RockerView rv;
@Override
protected void initView(Bundle savedInstanceState) {
build(this);//绑定 Activity
rv.setCallBackMode(GT.Game.RockerView.CallBackMode.CALL_BACK_MODE_MOVE);//设置回调方式为 状态有变化的时候回调
rv.setOnShakeListener(GT.Game.RockerView.DirectionMode.DIRECTION_8, new GT.Game.RockerView.OnShakeListener() {
@Override
public void onStart() {
tv.setText("开始");
}
@Override
public void direction(GT.Game.RockerView.Direction direction) {
String direction1 = getDirection(direction);//获取方向
tv.setText(direction1);//设置遥感转动的方向
}
@Override
public void onFinish() {
tv.setText("结束");
}
});
}
//返回字符串方向
private String getDirection(GT.Game.RockerView.Direction direction) {
String message = null;
switch (direction) {
case DIRECTION_LEFT:
message = "左";
break;
case DIRECTION_RIGHT:
message = "右";
break;
case DIRECTION_UP:
message = "上";
break;
case DIRECTION_DOWN:
message = "下";
break;
case DIRECTION_UP_LEFT:
message = "左上";
break;
case DIRECTION_UP_RIGHT:
message = "右上";
break;
case DIRECTION_DOWN_LEFT:
message = "左下";
break;
case DIRECTION_DOWN_RIGHT:
message = "右下";
break;
default:
break;
}
return message;
}
}
一些常用的参数:
app:rockerBackground="#FF9800" //设置中心圆的颜色
app:rockerRadius="50dp" //设置中心圆的半径
app:areaBackground="#2196F3" //设置背景圆的颜色
总结:实现起来非常简单,这就是GT库的初衷。感谢您的关注。