安卓项目实战之实现顶部标题栏沉浸式渐变效果
效果图如下:
实现步骤:
1、继承ScrollView实现自定义的ObservableScrollView.java类,代码如下:
public class ObservableScrollView extends ScrollView {
/**
* 回调接口监听事件
*/
private OnObservableScrollViewListene...
安卓项目实战之FlycoTabLayout和FlycoRoundView的介绍及使用
FlycoTabLayout简介
FlycoTabLayout是一个Android TabLayout库,目前包含了3个TabLayout,分别是:
1、SlidingTabLayout(依赖于ViewPager一起使用)
主要用于页面顶部导航Tab的实现,参照PagerSlidingTabStrip进行大量修改,新增了部分属性,支持多种风格的指示器显示,支持未读消息数和小红点显示,可以实现的效果...
安卓项目实战之快速集成emojicon表情开源库
效果图:
开始编码:
1、添加依赖
compile 'io.github.rockerhieu:emojicon:1.4.1'
2、布局文件代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:emojicon="http://schemas.android.co
安卓项目实战之具有显示,单选,多选功能的流式布局
效果演示
GitHub地址:https://github.com/crazyandcoder/MultiLineChoose
更多功能的流式布局用法,参见鸿洋大神的FlowLayout,GitHub地址:https://github.com/hongyangAndroid/FlowLayout
使用方法
1、gradle引用:
compile 'liji.library.dev:multilin...
C#基于Udp的分包传输
因为要远做程摄像头监控,要用到网络数据传输,百度了一下,很多就是基于Tcp的,因为QQ是用Udp,所有我也尝试用Udp。
要用Udp传输数据,就免不了分包和重包,因为Udp最大只能传输64KB的数据!下面给出分包的代码:
首先定义一个包类:
using System;
using System.Collections.Generic;
namespace Packet_Librar
Android 触屏事件 (单击,双击,滑动)
主要学习内容:
1. 接收并处理鼠标事件:按下、弹起、移动、双击、长按、滑动、滚动
2. 接收并处理按键事件:按下、弹起
3. 模拟鼠标/按键事件
1. Android事件
现代的用户界面,都是以事件来驱动的来实现人机交换的,而Android上的一套UI控件,无非就是派发鼠标和键盘事件,然后每个控件收到相应的事件之后,做相应的处理。如Button控件,就只需要处理Down、move
TS文件解码TS文件解密TS流批量下载和解码工具
TS的全称则是Transport Stream,即传输流,DVD节目中的MPEG2格式,是MPEG2-PS,MPEG2-TS格式的特点就是要求从视频流的任一片段开始都是可以独立解码的。现主流视频网站都采用这种模式。
m3u8是一个TS切片列表文件,它记录视频的每个切片的时长与顺序,下面通过图片了解一下:
怎么得到视频网站中的m3u8文件呢?首先打开36...
计科之路--linux学习
Linux文件系统介绍
*我们常说,Linux下,一切皆文件。很明显,Linux下肯定有一套强大的文件系统支撑。其实,不管什么系统,都需要有一套文件系统来储存文件。因为对计算机而言,他们只读懂二进制文件,而对人来说,读二进制文件是非常困难的,那就需要转换成人能读懂的文件形式,存储在文件系统中。通常来说,被调入内存的文件都是待执行的文件,执行完成后,就会写入文件系统中。我们知道cpu执行速度是非常...
抽象数据类型线性表的定义与实现
最近刚刚上完数据结构的第一章,好久没有写线性表了,正好借着老师的作业温习一下,主程序实现的就是简单的list有序合并。不多比比,直接上代码
第一部分 de.hpp文件
//
// main.cpp
// test
//
// Created by 蔡鹏 on 2018/9/4.
// Copyright © 2018年 蔡鹏. All rights reserved.
//
#ifnd...
umount: /home: device is busy
取消挂载/home时出现umount: /home: device is busy,
原因是因为有程序在使用/home目录,我们可以使用fuser查看那些程序的进程,
然后杀掉就可以了。
[root@localhost home]# fuser -m /home
/home: 10278c 10279c 10280c 10281c 10282c 10295 10365 18222c
命令...
【Linux】Linux下统计当前文件夹下的文件个数、目录个数
1 . 统计当前文件夹下文件的个数,包括子文件夹里的
ls -lR|grep "^-"|wc -l
2 . 统计文件夹下目录的个数,包括子文件夹里的
ls -lR|grep "^d"|wc -l
3 .统计当前文件夹下文件的个数
ls -l |grep "^-"|wc -l
4 . 统计当前文件夹下目录的个数
ls -l |grep "^d"|wc -l
附:
...
pytorch使用多GPU训练MNIST
下面的代码参数没有调试,可能准确率不高,仅仅供参考代码格式。
import argparse
import torch
import torch.nn as nn
import torch.optim as optim
import torch.nn.functional as F
from torchvision import datasets
from torchvision impo...
type() 和isinstance()的区别
class A:
pass
class B(A):
pass
isinstance(A(), A) # returns True
type(A()) == A # returns True
isinstance(B(), A) # returns True
type(B()) == A # returns False
使用type新建一个类型
class A(object):
def __init__(self,a):
self.a=a
def print(self):
print("this is function A")
class Acopy(A):
def __init__(self,a,b):
print("Acopy:",self.__class_...
python tqdm进度条
from tqdm import tqdm
with tqdm(total=100,
desc='Train Epoch #{}'.format(1),
disable=False) as t:
t.set_postfix({'loss': 1,
'accuracy...
Pytorch常用函数解析(一) Tensor 拼接
torch模块下的数学操作符
1 . torch.numel() 返回一个tensor变量内所有元素个数,可以理解为矩阵内元素的个数
2 . torch.squeeze() 对于tensor变量进行维度压缩,去除维数为1的的维度。例如一矩阵维度为A*1*B*C*1*D,通过squeeze()返回向量的维度为A*B*C*D。squeeze(a),表示将a的维数位1的维度删掉,squeeze(a,...
numpy sum的 axis的使用
import numpy as np
b=np.array([[[1,2,3],[4,5,6],[7,8,9]],[[1,2,3],[4,5,6],[7,8,9]]])
b=np.sum(b,axis=(0,2),keepdims=False)
print(b)
a=np.array([[1,2,3],[4,5,6]])
a=np.sum(a,axis=(0))
print(a)
输出:
...
周排行