文章标题

转载 2017年08月05日 17:22:28

介绍

ViewStub 是一个轻量级的View,没有尺寸,不绘制任何东西,因此绘制或者移除时更省时。(ViewStub不可见,大小为0)

优点

实现View的延迟加载,避免资源的浪费,减少渲染时间,在需要的时候才加载View

缺点

ViewStub所要替代的layout文件中不能有<merge>标签
ViewStub在加载完后会被移除,或者说是被加载进来的layout替换掉了
用法

<ViewStub
    android:id="@+id/stub_import"
    android:inflatedId="@+id/panel_import"
    android:layout="@layout/progress_overlay"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom" />

用ViewStub加载layout文件时,可以调用 setVisibility(View.VISIBLE) 或者 inflate()

((ViewStub) findViewById(R.id.stub_import)).setVisibility(View.VISIBLE);
// or
View importPanel = ((ViewStub) findViewById(R.id.stub_import)).inflate();

注意

  • 一旦ViewStub visible/inflated,则ViewStub将从视图框架中移除,其id stub_import 也会失效
  • ViewStub被绘制完成的layout文件取代,并且该layout文件的root view的id是android:inflatedId指定的id panel_import,root view的布局和ViewStub视图的布局保持一致
<!-- layout_viewstub.xml 要延迟加载的view -->
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@+id/layout_viewstub_old"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:background="@android:color/darker_gray"
        android:padding="5dp"
        android:text="This is the layout instead of ViewStub view."/>

</LinearLayout>

<!-- act_test_viewstub.xml -->
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_horizontal"
    android:orientation="vertical">

    <TextView
        android:id="@+id/act_test_viewstub_tv_show"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:background="@android:color/darker_gray"
        android:padding="5dp"
        android:text="Show ViewStub"/>

    <ViewStub
        android:id="@+id/act_test_viewstub_viewstub"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inflatedId="@+id/act_layout_viewstub_new"
        android:layout="@layout/layout_viewstub"/>

    <!--<include-->
        <!--android:layout_width="wrap_content"-->
        <!--android:layout_height="wrap_content"-->
        <!--layout="@layout/layout_viewstub"/>-->

</LinearLayout>

public class ViewStubTestActivity extends FragmentActivity {
    private static final String TAG = "test_viewstub";
    protected ViewStub mViewStub;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.act_test_viewstub);
        mViewStub = (ViewStub) findViewById(R.id.act_test_viewstub_viewstub);

        Log.e(TAG, "viewstub: " + findViewById(R.id.act_test_viewstub_viewstub));
        Log.e(TAG, "layout: " + findViewById(R.id.act_layout_viewstub_new));

        findViewById(R.id.act_test_viewstub_tv_show).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                View layoutView;
//                mViewStub.setVisibility(View.VISIBLE);
                layoutView = mViewStub.inflate();

                Log.e(TAG, "mViewStub: " + mViewStub);
                // ViewStub在visible/inflated后会被移除,所以此处为null
                Log.e(TAG, "viewstub: " + findViewById(R.id.act_test_viewstub_viewstub));
//                layoutView = findViewById(R.id.act_layout_viewstub_new);
                Log.e(TAG, "layoutView equals finviewbyid(layout): " +
                        layoutView.equals(findViewById(R.id.act_layout_viewstub_new)));
                Log.e(TAG, "layout: " + layoutView);

                if (layoutView != null) {
                    // layoutView的root view id 是mViewStub inflatedId指定的ID
                    if (layoutView.getId() == R.id.act_layout_viewstub_new) {
                        Log.e(TAG, "layout root id is act_layout_viewstub_new");
                    } else if (layoutView.getId() == R.id.layout_viewstub_old) {
                        Log.e(TAG, "layout root id is layout_viewstub_old");
                    } else {
                        Log.e(TAG, "layout root id is anyone : " + layoutView.getId());
                    }

                    // layoutView的root view布局 和mViewStub的布局保持一致
                    int width = layoutView.getLayoutParams().width;
                    if (width == ViewGroup.LayoutParams.MATCH_PARENT) {
                        Log.e(TAG, "layout width is MATCH_PARENT");
                    } else if (width == ViewGroup.LayoutParams.WRAP_CONTENT) {
                        Log.e(TAG, "layout width is WRAP_CONTENT");
                    } else {
                        Log.e(TAG, "layout width is anyone : " + width);
                    }
                }
            }
        });

    }
}

这里写图片描述

用java提取不同类型的文章标题就要设计出不同的正则表达式

用java中提取不同类型的文本目录要设计出不同的正则表达式         最近,我从网上下载了一个用java编写的用正则表达式从文本文件中批量提取文本目录的程序。用该程序,我从《神墓》这本章回小说...
  • myhrrjava
  • myhrrjava
  • 2016年10月28日 10:29
  • 435

文章标题--再识HTML5

HTML5定稿一周年,你必须要重新认识HTML5了 2015-11-25 10:46 by 副主编 mengyidan1988 评论(8) 有6049人浏览 html5 facebook 声明:...
  • u014726937
  • u014726937
  • 2016年03月01日 13:11
  • 500

修改DEDECMS文章标题长度,解决DEDECMS文章标题显示不全

在用dede调用列表标题出来的时候,会发现标题文字字数显示不完全,那是因为dede默认标题出来长度是30个字符,为了让标题显示完整,要做以下修改!1、进入后台–系统–系统设置–系统基本参数–其他选项–...
  • yxwmzouzou
  • yxwmzouzou
  • 2015年04月29日 11:25
  • 10142

基于标题分类的文章主题句识别与提取方法

基于标题分类的主题句提取方法 基于标题分类的主题句提取方法可描述为: 给定一篇新闻报道, 计算标题与新闻主题词集的相似度, 判断标题是否具有提示性。对于提示性标题,抽取新闻报道中与其最相似的句子作为主...
  • lihaitao000
  • lihaitao000
  • 2016年06月24日 17:53
  • 3011

JavaScript点击标题折叠文章内容

还是在写长博客的时候想到的需求,在文章中点击等标签的时候自动折叠该标题下的所有子标题和正文。我想到了利用jQuery来实现,给所有标题写加上一个类“art-title”,再在js文件中添加点击事件。然...
  • AeroYoung
  • AeroYoung
  • 2015年09月01日 15:37
  • 718

scrapy抓取csdn中标题带有“语义”关键字的文章的标题和链接

scrapy抓取csdn中标题带有“语义”关键字的文章的标题和链接 实现步骤 中文字符比对 中文字符比对 首先了解一下ASCII,Unicode和UTF-8:  http://www.r...
  • searobbers_duck
  • searobbers_duck
  • 2016年07月14日 17:13
  • 39690

文章标题CSS常用选择器及与HTML结合方式

标签分类:块级标签:block ` div p ul li table 行内标签:in line span CSS与HTML结合方式 , css常用选择器...
  • u013033038
  • u013033038
  • 2015年03月21日 21:09
  • 631

让wordpress点击日志标题跳转到外部链接实现

Wordpress实现点击文章标题跳转到外部链接的方法,有时候出于某些目的的需要,需要在wordpress博客中实现点击文章标题不直接跳转转到文章页面,而跳转到外部链接的效果。不过WordPress默...
  • liuxuekai
  • liuxuekai
  • 2014年12月29日 13:41
  • 2406

WordPress通过文章ID获取文章标题内容等信息。

使用Wordpress的朋友可能遇到这样的问题,在非single.php页面中我们有时候想要调用当前文章的标题、内容等信息,而Wordpress在生成文章页的时候在各个页面中唯一不变的只有当前的文章I...
  • Q1059081877Q
  • Q1059081877Q
  • 2015年05月30日 22:12
  • 2194

修改csdn博客标题与博客描述

好的博客标题与描述能够帮助搜索引擎快速准确的找到我们,接下来介绍的就是更改csdn博客标题与博客描述的方法: 进入自己博客首页点击文章管理: 进入后点击博客配置: 前两项就是我们要找的内容了:...
  • qq_39085422
  • qq_39085422
  • 2017年11月13日 13:17
  • 1370
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:文章标题
举报原因:
原因补充:

(最多只允许输入30个字)