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

东莞建站搜索引擎营销方法有哪些

东莞建站,搜索引擎营销方法有哪些,网站怎样做优化,织梦网站图片无缝滚动怎么做序言 在做项目的时候,有时候需要一个全局统一的标题栏,保证项目风格的统一,但是如果在每个activity上面都写一遍这个标题栏就很麻烦了,我们经常用的方法就是写个基类Activity,然后当某个Activity需要这个统一的标题栏…

序言

在做项目的时候,有时候需要一个全局统一的标题栏,保证项目风格的统一,但是如果在每个activity上面都写一遍这个标题栏就很麻烦了,我们经常用的方法就是写个基类Activity,然后当某个Activity需要这个统一的标题栏的时候,继承这个Activity就好了。

实现

1.实现我们需要的标题栏的视图
例如:我们现在需要一个标题栏,左边是Back按钮,返回按钮旁边有文字提示,中间是文字显示,右侧是Home按钮。
在这里插入图片描述
我们需要在xml文件中写出这种布局(代码略)

2.创建View加载布局

public class NavBarLayout extends LinearLayout {private ImageView backNav;private TextView backName;private TextView centerName;private ImageView homeNav;private INavClickListener listener;public NavBarLayout(Context context) {super(context);init(context);}public NavBarLayout(Context context, AttributeSet attrs) {super(context, attrs);init(context);}public NavBarLayout(Context context, AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);init(context);}public void setNavClickListener(INavClickListener iNavClickListener) {this.listener = iNavClickListener;}private void init(Context mContext) {LayoutInflater.from(mContext).inflate(R.layout.layout_top_nav_bar, this);backNav = findViewById(R.id.image_back);backName = findViewById(R.id.text_back);centerName = findViewById(R.id.ext_center);homeNav = findViewById(R.id.mage_home);//这是为了增大Back的返回按钮点击区域,将Back按钮和Name区域放在一起LinearLayout llBack = findViewById(R.id.ll_back_tap);//默认实现listener = new INavClickListener() {@Overridepublic void backClick(Context context) {INavClickListener.super.backClick(context);}@Overridepublic void homeClick(Context context) {INavClickListener.super.homeClick(context);}};//点击返回按钮llBack.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View view) {if (listener != null) {listener.backClick(mContext);}}});//点击Home按钮homeNav.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View view) {if (listener != null) {listener.homeClick(mContext);}}});}/*** 设置返回按钮图片*/public NavBarLayout setNavBackImage(int res) {backNav.setImageResource(res);return this;}/*** 设置返回按钮旁边的文字*/public NavBarLayout setNavBackName(String text) {backName.setText(text);return this;}/*** 设置中间的文字*/public NavBarLayout setNavCenterText(String text) {centerName.setText(text);return this;}/*** 设置Home按钮图片*/public NavBarLayout setNavHomeImage(int res) {homeNav.setImageResource(res);return this;}/*** 设置中间文字是否显示*/public NavBarLayout setNavCenterIsShow(boolean isShow) {if (isShow) {centerName.setVisibility(View.VISIBLE);} else {centerName.setVisibility(View.GONE);}return this;}/*** 设置Home图案是否显示*/public NavBarLayout setNavHomeIsShow(boolean isShow) {if (isShow) {homeNav.setVisibility(View.VISIBLE);} else {homeNav.setVisibility(View.GONE);}return this;}public interface INavClickListener {//默认实现点击返回上一层default void backClick(Context context) {Activity activity = (Activity) context;activity.onBackPressed();};//默认实现跳转到某个页面(比如主页面)default void homeClick(Context context) {//这里使用了DRouter框架实现页面跳转DRouter.build("/main").start(context);};}
}

这样的话我们的View就实现了,接下来就是在基类里面使用。

3.基类使用
3.1创建基类的xml文件【layout_base】

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/ll_view_base"android:layout_width="match_parent"android:layout_height="match_parent"android:background="#DBE5F1"android:orientation="vertical"><com.view.NavBarLayoutandroid:id="@+id/base_nav"android:layout_width="match_parent"android:layout_height="60dp"android:visibility="visible" /><FrameLayoutandroid:id="@+id/ll_child_view"android:layout_width="match_parent"android:layout_height="match_parent" /></LinearLayout>

这里我们使用一个上下布局的线性布局,上边是我们的标题栏布局,下面我们使用了一个FrameLayout帧布局,强烈推荐使用这种布局,不容易产生各种莫名其妙的问题。我们以后使用这个FrameLayout加载我们的子类activity的布局。
3.2基类的Activity

public class BaseActivity extends AppCompatActivity {private NavBarLayout navBarLayout;@Overridepublic void setContentView(int layoutResID) {super.setContentView(R.layout.layout_base); // 设置整个布局为基础布局Objects.requireNonNull(getSupportActionBar()).hide(); // 隐藏ActionBar/ToolbarFrameLayout parentView = findViewById(R.id.ll_child_view); // 获取基础布局中的父容器navBarLayout = findViewById(R.id.base_nav); // 获取基础布局中的导航栏View childView = LayoutInflater.from(this).inflate(layoutResID, parentView, false); // 根据传入的布局资源ID,生成子视图parentView.addView(childView); // 将子视图添加到父容器中}@Overridepublic void setContentView(View childView) {super.setContentView(R.layout.layout_base);Objects.requireNonNull(getSupportActionBar()).hide();FrameLayout parentView = findViewById(R.id.ll_child_view);navBarLayout = findViewById(R.id.base_nav);parentView.addView(childView);}@Overridepublic void setContentView(View view, ViewGroup.LayoutParams params) {super.setContentView(R.layout.layout_base);Objects.requireNonNull(getSupportActionBar()).hide();FrameLayout parentView = findViewById(R.id.ll_child_view);navBarLayout = findViewById(R.id.base_nav);parentView.addView(view, params);}//是否展示我们的导航栏protected void showNavBar(boolean isShow) {if (isShow) {navBarLayout.setVisibility(View.VISIBLE);} else {navBarLayout.setVisibility(View.GONE);}}//给外界提供修改我们导航栏的方法protected NavBarLayout setNavBar() {return this.navBarLayout;}
}

这里面我们可以注意到,我们将这个【setContentView】实现了三次,这是非常有必要的,因为我们不知道将来我们到底使用哪一种方法将子Activity的视图加载进来。

4.使用
我们创建一个activity,然后继承这个基类的activity,这样我们就可以使用了。通过我们的【setNavBar()】方法可以修改我们默认的一些显示文字和进行我们默认设置的按钮的点击跳转设置。

http://www.hkea.cn/news/119135/

相关文章:

  • 佛山h5建站模板怎样优化网站
  • 第三方做公司网站谷歌搜索广告优化
  • 网站风格模板快速排名精灵
  • 做网站横幅 的网站推荐几个公司推广
  • html5国内网站建设客户管理软件
  • 网站建设报价单站长工具 seo查询
  • 日本电商网站贵州快速整站优化
  • 物业服务网站建设建立网站要多少钱一年
  • 中铁建设门户加长版廊坊百度提升优化
  • 最便宜的外贸网站建设电商平台运营方案
  • 做网站应该会什么问题网络营销软文范例500字
  • 摄影网课百度关键词优化查询
  • 打广告型的营销网站西安百度推广外包
  • 乌鲁木齐招聘网站建设一站式网络营销
  • 中小型网站建设服务淘宝数据分析工具
  • 梧州网站设计企业网站模板建站
  • 行政事业单位网站建设建议营销策划公司
  • 网络推广网站怎么做百度联盟广告点击一次收益
  • wordpress居中样式宁波seo网络推广外包报价
  • java做网站用到哪些技术网络营销的重要性与意义
  • 网络营销推广的作用谷歌seo什么意思
  • 免费网站建设解决方案郑州网络营销公司哪个好
  • 转转怎么做钓鱼网站税收大数据
  • 株洲专业网站排名优化深圳产品网络推广
  • 深圳美食教学网站制作如何免费搭建自己的网站
  • 兰州移动端网站建设广东整治互联网霸王条款
  • 彩票网站该怎么建设天津seo实战培训
  • 原平的旅游网站怎么做的新冠疫情最新情况最新消息
  • 网站开发软件著作权归谁seo外包
  • 小说网站的网编具体做哪些工作南宁网站快速排名提升