当前位置: 首页 > news >正文

安卓手机开发者模式做了个网站 怎么做seo

安卓手机开发者模式,做了个网站 怎么做seo,做网站的技术,免费咨询养生顾问今日想法今天是想把做一个跳转页面的时候调到H5页面去,但是这个页面我用app来承载,不要调到浏览器去。所以用到了下方三个东西。Viewbindingbuild.gradle配置首先在app模块的build.gradle里添加一下代码默认情况下,每一个布局xml文件都会生成…

今日想法

今天是想把做一个跳转页面的时候调到H5页面去,但是这个页面我用app来承载,不要调到浏览器去。

所以用到了下方三个东西。

Viewbinding

build.gradle配置

首先在app模块的build.gradle里添加一下代码

默认情况下,每一个布局xml文件都会生成一个对应的Binding类

当然,如果不需要为该xml生成Binding类,可以在xml的根布局中配置tools:viewBindingIgnore=“true”。


传统设置布局

setContentView(R.layout.activity_web_view_to_h5);

viewbinding设置布局(Activity)

binding = ActivityMainBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());

用法也很简单,在Activity的生命周期oncreate()中,直接通过binding点名字的方式就可以获取到控件实例,消除了findViewById的模版代码。

这里可以看到,setContentView的入参写法都变了,因为可通过XXXBinding类的getRoot函数获取到布局的根View,再通过setContentView添加到Activity。

viewbinding设置布局(Fragment)

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {binding = FragmentLoginBinding.inflate(inflater,container,false);return binding.getRoot();
}

viewbinding设置布局(RecyclerView.Adapter)

调用控件

binding.控件ID即可。


WebView

首先我新创了一个空的Activity,添加代码。

<?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=".ui.activity.WebViewToH5"><WebViewandroid:layout_width="match_parent"android:layout_height="match_parent"android:id="@+id/web"/></androidx.constraintlayout.widget.ConstraintLayout>
package com.example.intelligentwatch.ui.activity;import android.os.Bundle;
import android.webkit.WebChromeClient;
import android.webkit.WebViewClient;
import androidx.appcompat.app.AppCompatActivity;
import com.example.intelligentwatch.databinding.ActivityWebViewToH5Binding;public class WebViewToH5 extends AppCompatActivity {private ActivityWebViewToH5Binding binding;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);binding = ActivityWebViewToH5Binding.inflate(getLayoutInflater());setContentView(binding.getRoot());//设置WebView支持JavaScript脚本binding.web.getSettings().setJavaScriptEnabled(true);//当需要跳转网页时目标网页仍在当前WebView中显示binding.web.setWebViewClient(new WebViewClient());//当需要跳转网页的时候直接调到系统浏览器去显示
//        binding.web.setWebChromeClient(new WebChromeClient());//传入相应浏览器网址,即可展示相应网页内容,这里用的是百度binding.web.loadUrl("https://baidu.com");}
}

跳转到这个Activity就可以自动打开百度了。


Navigation

这是jetpack库中的一个框架,只能绑定在FragmentContainerView容器中,一个FragmentContainerView容器对应绑定一个navigation文件。

从Fragment跳到Fragment或Activity都可以。

但是Activity跳到Fragment或Activity之间的跳转就只能老老实实startActivity了。

所以开头只能是Fragment,不然怎么叫FragmentContainerView容器呢?

FragmentContainerView容器

用来承载fragment的。

本来是叫fragment的,不过androidx更新后现在推荐叫FragmentContainerView,也就是下面这个。用 app:navGraph="@navigation/nav_graph" /> 来绑定navigation进行页面的跳转。

<androidx.fragment.app.FragmentContainerViewandroid:id="@+id/nav_host_fragment_content_main"android:name="androidx.navigation.fragment.NavHostFragment"android:layout_width="0dp"android:layout_height="0dp"app:defaultNavHost="true"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:navGraph="@navigation/nav_graph" />
</androidx.constraintlayout.widget.ConstraintLayout>

navigation绑定和跳转目标

注释都写了,自己看吧。

<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"<!--给fragmentUI控件绑定-->android:id="@+id/nav_graph.xml"<!--fragment初始页是哪个-->app:startDestination="@id/LoginFragment"><fragment<!--    设置id别人才找得到-->android:id="@+id/LoginFragment"<!--    会自动搜你项目的所有fragment,让你选择这个子元素哪个fragment-->android:name="com.example.intelligentwatch.ui.fragment.LoginFragment"><action<!--这个动作的名字,给点击事件绑定的-->android:id="@+id/toAboutActivity"<!--跳到哪个地方-->app:destination="@id/about_activity"/><actionandroid:id="@+id/action_LoginFragment_to_WebView_activity"app:destination="@id/WebView_activity" /></fragment><activityandroid:id="@+id/about_activity"android:name="com.example.intelligentwatch.ui.activity.AboutCompany_Activity"></activity><activityandroid:id="@+id/WebView_activity"android:name="com.example.intelligentwatch.ui.activity.WebViewToH5_Activity"></activity></navigation>

也可以在design页面进行可视化设置。

通过小圆球拖动,来指定调到哪个fragment。

点击事件中绑定

@Override
public void onClick(View v) {int id = v.getId();switch (id){case R.id.button_first:Navigation.findNavController(v).navigate(R.id.WebView_activity);break;default:break;}
}

大功告成。

过几天再康康Glide图片加载框架的使用。

http://www.yayakq.cn/news/560235/

相关文章:

  • 长沙网站建设报价智慧旅游网站建设方案ppt模板
  • 宁海县城镇建设局网站建设工程管理条例
  • 防盗网站人做清洁团购网站单页模板
  • 建设网站技术公司简介模拟网站平台怎么做
  • 做网站有什么好处吗深圳网站建设方案优化
  • 网站建设字体阿里云 网站建设方案书
  • 佛山响应式网站建设wordpress 静态页面显示文章
  • 商标查询网站怎么做要建立网站是否要先做网页设计_然后把网页设计与数据库连接起来?
  • 什么网站可以做公共基础知识网站后台登陆密码忘记了
  • 乐从网站制作wordpress修改文件上传大小
  • 做网站网页排版错误中国广东网站建设
  • 怎么管理网站公司网页建立
  • 自己做网站需要多少资金外贸自建站多少钱一个
  • 化妆品网站方案哪个网站能学做微商
  • 小网站下载渠道有哪些dw个人网页制作代码
  • 免费做app的网站有吗卡盟网站顶图怎么做
  • 网上商城建设 网站定制开发怎么创建私人网站
  • 软件网站建设基本流程wordpress获取首页id
  • 中国建设工程鲁班奖查询网站携程网站建设项目
  • 用asp.net做后台网站seo快速优化方法
  • 浅谈马云电子商务网站建设关于网站建设需要的研究方法
  • 网站制作公司哪家好一点wordpress 中文 图片不显示
  • 网站信用认证可以自己做吗营销型网站一个多少钱
  • 《网站建设 补充合同wordpress增加左侧悬浮菜单
  • 局域网内建设网站十大家居家装网站哪个好
  • 做php网站用的软件重庆刚刚发布
  • 做网站免责声明重庆做网站建设
  • 易语言可以做网站管理系统吗建筑模板哪种好
  • 做视频素材网站佛山+客户端官网
  • 西安做兼职网站加强宣传阵地建设 高校 网站