参考了谷歌原生代码,实现了监听滑动到底的功能。
1.AndroidManifest.xml中添加activity
<activity android:name=".PrivacyActivity"
android:theme="@style/GlifTheme.Light"
android:exported="true">
</activity>
2.编写布局问题 activity_privacy.xml
<com.google.andriod.setupdesign.GlifLayout
android:id="@+id/privacy_layout"
android:layout_widht="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_widht="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
//中间是大量的文本,超出一屏
</LinearLayout>
</com.google.andriod.setupdesign.GlifLayout>
3.编写Java代码 PrivacyActivity.java
package com.android.settings;
import com.google.android.setupcompat.template.FooterBarMixin;
import com.google.android.setupcompat.template.FooterButton;
import com.google.android.setupdesign.GlifLayout;
import com.google.android.setupdesign.template.RequireScrollMixin;//重要 监听滑动的东西
public class PrivacyActivity extends AppCompatActivity {
private FooterBarMixin mFooterBarMixin;
@Override
protected void onCreate(Bundle b) {
super.onCreate(b);
setContentView(R.layout.activity_privacy);
mFooterBarMixin = getLayout().getMixin(FooterBarMixin.class);
mFooterBarMixin .setPrimaryButton(
new FooterButton.Builder(this)
.setText(R.string.agree)
.setListener(this:onNextButtonClick)
.setButtonType(FooterButton.ButtonType.NEXT)
.setTheme(R.style.SudGlifButton_Primary)
.build()
);
FooterButton mNextButton = mFooterBarMixin.getPrimaryButton();
final RequireScrollMixin rsMixin = getLayout().getMixin(RequireScrollMixin .class);
rsMixin.requireScrollWithButton(this, mNextButton , R.string.more, this::onNextButtonClick);
//在超过一屏内容时,滑到底部前,显示“更多”,滑到底部后,显示“同意”
rsMixin .setOnRequireScrollStateChangedListener(
scrollNeeded -> {
final int primaryButtonTextRes = scrollNeeded
? R.string.more : R.string.agree;
mNextButton.setText(this,primaryButtonTextRes);
});
}
protected void onNextButtonClick(View view) {
//同意点击事件
}
}
本文介绍了如何参照谷歌原生代码,在Android的Gms开机向导界面中实现监听用户上划到底的行为。通过在AndroidManifest.xml中添加activity,设计activity_privacy.xml布局文件,并在PrivacyActivity.java中编写相关Java代码来完成这一功能。

3050

被折叠的 条评论
为什么被折叠?



