Frontpage中如何进行上下字幕滚动的设计

Frontpage中如何进行上下字幕滚动的设计,第1张

用一段html代码就可以实现了 代码是 <marquee></marquee> 文字写在两段代码之间就可以了属性我写给你看

behavior

设定滚动的方式:

alternate: 表示在两端之间来回滚动。

scroll: 表示由一端滚动到另一端,会重复。

slide: 表示由一端滚动到另一端,不会重复。

direction

设定活动字幕的滚动方向

代码如下:

<marquee direction="down">设定活动字幕的滚动方向direction="down":向下</marquee>

<marquee direction="left">设定活动字幕的滚动方向direction="left":向左</marquee>

<marquee direction="right">设定活动字幕的滚动方向direction="right":向右</marquee>

<marquee direction="up">设定活动字幕的滚动方向direction="up":向上</marquee>

height

设定活动字幕的高度

代码如下:

<marquee height="500" direction="down" bgcolor="#CCCCCC">设定活动字幕的高度height="500"</marquee>

width

设定活动字幕的宽度

代码如下:

<marquee width="500" bgcolor="#CCCCCC">设定活动字幕的宽度width="500"</marquee>

scrollamount

设定活动字幕的滚动速度,单位pixels

代码如下:

<marquee scrollamount="10" >scrollamount="10" </marquee>

<marquee scrollamount="20" >scrollamount="20" </marquee>

<marquee scrollamount="30" >scrollamount="30" </marquee>

最常用的就这些属性,你有别的一些,你可以搜一下相关的网页学习一下,搜marquee就可以了有教程

#include <windowsh>

#include "resourceh"

//#include "English_Nameh"

#include <mathh>

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);

BOOL CALLBACK NOM(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);

BOOL CALLBACK AboutDlgProc (HWND, UINT, WPARAM, LPARAM) ;

POINT PadCaret;

//平均字母的宽度(cxChar)、总的字母的高度(cyChar)

//大写字母的平均宽度(cxCaps),创建窗口的高度(cyClient)

int cxChar, cxCaps, cyChar, cyClient, cxClient;

static int iCursor = 1;

static int cxBuffer, cyBuffer, xCaret, yCaret ;

#define BUFFER(x,y) (pBuffer + y cxBuffer + x)

#define MAXPOINTS 1000

#define NUM 800

#define TWOPI (2 314159)

HWND hDlgSetBkColor;

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd)

{

//建立基本参数

HWND CreatPad;

WNDCLASS WND_Creat;

CHAR WND_CreatPad[] = "Creat_Super";

WND_CreatcbClsExtra = 0;

WND_CreatcbWndExtra = 0;

//美化界面

WND_CreathbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);

WND_CreathCursor = LoadCursor(NULL, IDC_IBEAM);//载入鼠标

WND_CreathIcon = LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON1));

// WND_CreatlpszMenuName= MAKEINTRESOURCE(IDR_MENU1);

WND_CreatlpszMenuName = NULL ;

//函数调用

WND_CreathInstance = hInstance;

WND_CreatlpfnWndProc = WndProc;

WND_CreatlpszClassName = WND_CreatPad;

//window stlye

WND_Creatstyle = CS_HREDRAW | CS_VREDRAW;

//注册出错检查

if(!RegisterClass(&WND_Creat))

{

MessageBox(NULL,TEXT("fail register"),"warn!",MB_ICONSTOP);

return 1;

}

//根据视窗类别建立一个视窗

CreatPad=CreateWindow(WND_CreatPad,

TEXT("Experiment_One"),

//WS_VSCROLL 垂直滚动条

//WS_HSCROLL 水平滚动条

WS_OVERLAPPEDWINDOW|WS_VSCROLL,

100,//X1

0,//Y1

800,//(X2-x1)

600,//(Y2-Y1)

NULL,

NULL,

hInstance,

NULL);

//caret 出现位置

//PadCaretx=200;

//PadCarety=200;

//显示window

ShowWindow(CreatPad,nShowCmd);

MSG msg;

/

while (GetMessage (&msg, NULL, 0, 0))

{

//TranslateMessage 翻译键盘

TranslateMessage (&msg) ;

//DispatchMessage 将信息发送给视窗处理

DispatchMessage (&msg) ;

}

/

while (GetMessage (&msg, NULL, 0, 0))

{

if(NULL == hDlgSetBkColor || !IsDialogMessage(hDlgSetBkColor, &msg))

{

TranslateMessage (&msg) ;

DispatchMessage (&msg) ;

}

}

return msgwParam ;

return 0;

}

/

void DrawBezier (HDC hdc, POINT apt[])

{

PolyBezier (hdc, apt, 4) ;

MoveToEx (hdc, apt[0]x, apt[0]y, NULL) ;

LineTo (hdc, apt[1]x, apt[1]y) ;

MoveToEx (hdc, apt[2]x, apt[2]y, NULL) ;

LineTo (hdc, apt[3]x, apt[3]y) ;

}

/

LRESULT CALLBACK WndProc(HWND hwnd, UINT message,WPARAM wParam,LPARAM lParam)

{

HDC hdc ;

int i, x, y, iVertPos, iHorzPos, iPaintBeg, iPaintEnd ;

int f,g;

static POINT st[MAXPOINTS] ;

static int iCount ;

/\

PAINTSTRUCT这个结构体中包含了HDC代号,WM_PAINT这个消息获得后,进行

执行需要这个。如:beginpaint = (hwnd , &(PAINTSTRUCT PS)) 然后HDC

获得ps中的hdc

\/

PAINTSTRUCT ps ;

//SCROLLINFO这个结构体包含了cbSize、fMask、nMin、nMax、nPage等几个成员

//后面就会逐一用到这五个成员

SCROLLINFO si ;

//

POINT pt;

//

RECT rc;

//用于改进的键盘消息输出,定义的ip和Cnum这两个暂时无用,编译会产生1 warning

enum CharacterTable{a, b, c, d} ;

static CharacterTable ip;

int Cnum;

//

static HINSTANCE hInstance;

//

static HMENU hMenuMain, hMenuEn, hMenuCh, hMenuShortCut, hMenu, IDR_MENU2_l ;

// static HMENU hMenu, IDR_MENU2_l,w ;

//

static UINT uCheck = MF_CHECKED;

//

POINT apt [NUM] ;

//

static TCHAR pBuffer = NULL ;

//TextOut_1 会用到,wsprintf中想此个数组填充

TCHAR szBuffer [10] ;

//取得字体的基本信息

TEXTMETRIC tm ;

//

CHOOSECOLOR cc;

OPENFILENAME ofn;

static COLORREF crCustColors[16] ;

//

char szText_1[100] = {"一点提示!"};

char szText_2[100] = {"鼠标移动的轨迹会被记录,按'连接顶点' 会连接轨迹上的点"};

//光标出现

switch(message)

{

case WM_CREATE:

{

hInstance = ((LPCREATESTRUCT) lParam)->hInstance ;

/\

GetDC(),ReleaseDC()和BeginPaint(),EndPaint()的区别

利用GetDC()传回的hdc,可以在整个显示区域上绘图,但BeginPaint()传回的hdc,只在

rect指定的矩形区域内绘图

GetDC和ReleaseDC不使显示区域中任何可能的无效区域变成有效

\/

hdc = GetDC (hwnd) ;

GetTextMetrics (hdc, &tm) ;

//平均字母的宽度(cxChar)

cxChar = tmtmAveCharWidth ;

//处理变宽的字符

if ( tmtmPitchAndFamily = 1)

{

//大写和汉字为15倍的cxChar

cxCaps = 3 / 2 cxChar;

}

else

{

//其它的cxCaps = cxChar

cxCaps = cxChar;

}

//文字间隔 :tmtmExternalLeading默认为0 ,为加长文本长度和文本的美观,将其的值设置为10

tmtmExternalLeading = 10;

cyChar = tmtmHeight + tmtmExternalLeading ;

//设置垂直卷动列的范围和初始位置

ReleaseDC (hwnd, hdc) ;

//建立动态菜单

hInstance = (HINSTANCE) GetWindowLong (hwnd, GWL_HINSTANCE) ;

hMenuMain = LoadMenu (hInstance, MAKEINTRESOURCE (IDR_MENU1)) ;

SetMenu (hwnd, hMenuMain) ;

return 0 ;

}

case WM_SIZE:

{

/\

lParam参数的低字组中包含显示区域的宽度,高字组中包含显示区域的高度

如:句子cxClient = LOWORD (lParam)求出了client的宽度

系统在处理 WM_SIZE 的时候会自动返回 lParam,但是窗口必须是主窗口,子窗口是不行的

\/

cyClient = HIWORD (lParam) ;

cxClient = LOWORD (lParam) ;

/

apt[0]x = 40 ;

apt[0]y = 160 ;

apt[1]x = 80 ;

apt[1]y = 80 ;

apt[2]x = 80 ;

apt[2]y = 240 ;

apt[3]x = 120 ;

apt[3]y = 160 ;

/

/开始使用SCROLLINFO这个结构体/

//sicbSize的长度为SCROLLINFO的长度

sicbSize = sizeof (si) ;

//SIF_RANGE : 让sinMin , sinMax 成为滚动条的范围

//SIF_PAGE : 取得目前页面的大小,得到比例化的滚动条

sifMask = SIF_RANGE | SIF_PAGE ;

//(0 ~ 46)

sinMin = 0 ;

sinMax = 46 ;

//显示区域内显示的文字的总行数

sinPage = cyClient / cyChar ;

/\

SetScrollInfo为win32的滚动条函数

SB_VERT : 为比例化的滚动条(此处用的是这个样式)

SB_CTL : 为非比例化的滚动条

SB_HORZ : 为比例化的滚动条,但是具有水平和垂直两条

SIF_TRACKPOS :

(SB_###为鼠标的通知码)

最后一个参数为TRUE时,程序运行时滚动条出现时就为比例滚动条,即为当程序获得如鼠标拖动

滚动块等动作信息时,滚动条不进行重新绘制。但当参数为FALSE时,程序运行时滚动条出现时

就为非比例滚动条,但当程序获得如鼠标拖动滚动块等动作信息时,滚动条进行重新绘制,立刻

重绘变为比例滚动条。

\/

SetScrollInfo (hwnd, /SB_HORZ or SB_CTL/SB_VERT, &si, TRUE/FALSE/) ;

//

{

cxBuffer = max (1, cxClient / cxChar) ;

cyBuffer = max (1, cyClient / cyChar) ;

if (pBuffer != NULL)

free (pBuffer) ;

pBuffer = (TCHAR ) malloc (cxBuffer cyBuffer sizeof (TCHAR)) ;

for (y = 0 ; y < cyBuffer ; y++)

for (x = 0 ; x < cxBuffer ; x++)

BUFFER(x,y) = ' ' ;

xCaret = 0 ;

yCaret = 0 ;

if (hwnd == GetFocus ())

SetCaretPos (xCaret cxChar, yCaret cyChar) ;

InvalidateRect (hwnd, NULL, TRUE) ;

}

return 0 ;

/\

以上的代码并只是获得WM_SIZE时所作的初期工作,真正的SCROLL工作细节在获得WM_VSCROLL中实现

\/

}

case WM_VSCROLL:

{

//sicbSize的长度为SCROLLINFO的长度

sicbSize = sizeof (si) ;

/\

SIF_RANGE : 让sinMin , sinMax 成为滚动条的范围

SIF_PAGE : 取得目前页面的大小,得到比例化的滚动条

SIF_POS : 获得滑块目前的位置

SIL_ALL = SIF_RANGE | SIF_PAGE | SIF_POS | SIF_TRACKPOS

\/

sifMask = SIF_ALL ;

//与SetScrollInfo基本类似,但可以使用LONG型的数值指向滚动块的位置等

GetScrollInfo (hwnd, SB_VERT, &si) ;

//将滚动块的位置放置于iVertPos中

iVertPos = sinPos ;

/\

wParam的低字位是SB_THUMBTRACK时,wParam的高字位是使用者在拖动滚动块时

的目前位置。该位置位于滚动条范围的最小值和最大值之间。在wParam的低字位是

SB_THUMBPOSITION时,wParam的高字位是使用者释放鼠标后滚动块的最终位置。

\/

switch (LOWORD (wParam))

{

//滚动块在顶部了,不能在进行移动了

case SB_TOP:

sinPos = sinMin ;

break ;

//滚动块在底部了,不能在进行移动了

case SB_BOTTOM:

sinPos = sinMax ;

break ;

//鼠标点击垂直滚动条的上面的箭头

case SB_LINEUP:

//每点击一次滚动块的位置下降一个单位

sinPos -= 1 ;

break ;

//鼠标点击垂直滚动条的下面的箭头

case SB_LINEDOWN:

//每点击一次滚动块的位置上升一个单位

sinPos += 1 ;

break ;

//点击滚当块的上部,每点击一次滚动块上升一个单位

case SB_PAGEUP:

sinPos -= sinPage ;

break ;

//点击滚当块的下部,每点击一次滚动块下降一个单位

case SB_PAGEDOWN:

sinPos += sinPage ;

break ;

//鼠标按住滚动块进行移动

case SB_THUMBTRACK:

sinPos = sinTrackPos ;

break ;

//其它的 *** 作

default:

break ;

}

//滚动块目前的位置

sifMask = SIF_POS ;

//把上面的(SB_#####)进行处理,得到结果,并将滚动块的位置显示于创建程序窗口

SetScrollInfo (hwnd, SB_VERT, &si, TRUE) ;

GetScrollInfo (hwnd, SB_VERT, &si) ;

//当滚动条被使用了,那么窗口的内容也要进行相应的更新

if (sinPos != iVertPos)

{

/\

ScrollWindow函数的原型 :

ScrollWindow(

HWND hWnd,

int XAmount,

int YAmount,

CONST RECT lpRect,

CONST RECT lpClipRect);

\/

ScrollWindow ( hwnd, 0, cyChar (iVertPos - sinPos),

NULL, NULL) ;

//对窗口进行重绘

UpdateWindow (hwnd) ;

}

return 0 ;

}

case WM_RBUTTONDOWN:

{

}

case WM_LBUTTONDOWN:

{

iCount = 0 ;

InvalidateRect (hwnd, NULL, TRUE) ;

SetCaretPos(LOWORD(lParam), HIWORD(lParam));

ShowCaret(hwnd);

}

return 0 ;

case WM_LBUTTONUP:

InvalidateRect (hwnd, NULL, FALSE) ;

return 0 ;

case WM_MOUSEMOVE:

if (wParam & MK_LBUTTON && iCount < 1000)

{

st[iCount ]x = LOWORD (lParam) ;

st[iCount++]y = HIWORD (lParam) ;

hdc = GetDC (hwnd) ;

SetPixel (hdc, LOWORD (lParam), HIWORD (lParam), 0) ;

ReleaseDC (hwnd, hdc) ;

}

return 0 ;

//开始进行文本的输出

case WM_PAINT :

{

hdc = BeginPaint (hwnd, &ps) ;

sicbSize = sizeof (si) ;

sifMask = SIF_POS ;

GetScrollInfo (hwnd, SB_VERT, &si) ;

iVertPos = sinPos ;

GetScrollInfo (hwnd, SB_HORZ, &si) ;

iHorzPos = sinPos ;

//#define max(a,b) (((a) > (b)) (a) : (b))

//#define min(a,b) (((a) < (b)) (a) : (b))

iPaintBeg = max (0, iVertPos + psrcPainttop / cyChar) ;

iPaintEnd = min (46,iVertPos + psrcPaintbottom / cyChar) ;

//设置循环的次数

for (i = iPaintBeg ; i <= iPaintEnd ; i++)

{

x = cxChar (1 - iHorzPos) ;

y = cyChar (i - iVertPos) ;

//为了标记行数 将循环变量i作为计数器,并且显示

TextOut (hdc, x , y, szBuffer, wsprintf (szBuffer, TEXT ("%d"), i) );

//输出name数组中第一列英文名

//TextOut(hdc, x + 15 cxCaps + 40 cxChar, y, name[i]EnglishName,

// lstrlen (name[i]EnglishName)) ;

//输出name数组中第二列英文名对应的中文名

// TextOut(hdc,x + 15 cxCaps , y, name[i]ChineseName,

// lstrlen (name[i]ChineseName)) ;

SetTextAlign (hdc, TA_LEFT | TA_TOP) ;

}

/用于程序开始/

TextOut(hdc, 50, 10, szText_1, strlen(szText_1));

TextOut(hdc, 50, 30, szText_2, strlen(szText_2));

//绘图的调用函数

switch(wParam)

{

case 1: //原型点

SelectObject(hdc, GetStockObject(BLACK_BRUSH));

Ellipse(hdc, 350, 100, 380, 130);

break;

case 2: //直线

MoveToEx(hdc, 200, 200, NULL);

LineTo(hdc, 500, 300);

break;

case 3: //直角矩形

SelectObject(hdc, GetStockObject(BLACK_BRUSH));

Rectangle(hdc, 200, 100, 400, 200);

break;

case 4: //圆角矩形

SelectObject(hdc, GetStockObject(BLACK_BRUSH));

RoundRect(hdc, 200, 100, 400, 200, 50, 40);

break;

case 5: //椭圆

SelectObject(hdc, GetStockObject(BLACK_BRUSH));

Ellipse(hdc, 200, 100, 400, 200);

break;

case 6: //饼形

SelectObject(hdc, GetStockObject(BLACK_BRUSH));

Pie(hdc, 200, 100, 400, 200, 450, 220, 150, 220);

break;

case 7: //圆弧

SelectObject(hdc, GetStockObject(BLACK_BRUSH));

Arc(hdc, 200, 100, 400, 200, 450, 220, 150, 220);

break;

case 8: //弦

SelectObject(hdc, GetStockObject(BLACK_BRUSH));

Chord(hdc, 200, 100, 400, 200, 450, 220, 150, 220);

break;

case 9: //SINAWAVE

{

int h;

MoveToEx (hdc, 0, 250, NULL) ;

LineTo (hdc,300, 250) ;

for (h = 0 ; h < NUM ; h++)

{

apt[h]x = h 300 / NUM ;

apt[h]y = (int) (250 (1 - sin (TWOPI h / NUM))) ;

}

Polyline (hdc, apt, NUM) ;

break;

}

case 10: //LINEDEMO

{

Rectangle (hdc, 30, 60, 210, 420);

MoveToEx (hdc, 0, 0, NULL) ;

LineTo (hdc, 30, 60) ;

MoveToEx (hdc, 0, 60, NULL) ;

LineTo (hdc, 30, 0) ;

Ellipse (hdc, 30, 60, 210, 420) ;

RoundRect (hdc, 60, 120, 180, 360, 60, 120) ;

break;

}

case 11:

{

SetCursor (LoadCursor (NULL, IDC_WAIT)) ;

// ShowCursor (TRUE) ;

for (f = 0 ; f < iCount - 1 ; f++)

for (g = f + 1 ; g < iCount ; g++)

{

MoveToEx (hdc, st[f]x, st[f]y, NULL) ;

LineTo (hdc, st[g]x, st[g]y) ;

}

// ShowCursor (FALSE) ;

// SetCursor (LoadCursor (NULL, IDC_ARROW)) ;

// DrawBezier (hdc, apt) ;

break;

}

case 12 :

{

TextOut(hdc, 100, 50, "a", 1);

break;

}

case 13 :

{

TextOut(hdc, 120, 50, "b", 1);

break;

}

case 14 :

{

TextOut(hdc, 140, 50, "1", 1);

break;

}

}

EndPaint (hwnd, &ps) ;

return 0 ;

}

case WM_SETFOCUS :

{

//CreateCaret(,HBITMAP,,)---->WINGDIAPI HBITMAP WINAPI CreateBitmap\

//(int, int, UINT, UINT, CONST VOID );

/

CreateCaret(hwnd,NULL,10,20);

ShowCaret(hwnd);

/

CreateCaret (hwnd, NULL, cxChar, cyChar) ;

SetCaretPos (xCaret cxChar, yCaret cyChar) ;

ShowCaret (hwnd) ;

return 0 ;

return 0;

}

case WM_KILLFOCUS :

{

//光标失去

DestroyCaret();

return 0;

}

case WM_DESTROY :

{

//程序进程的销毁

PostQuitMessage(0);

return 0;

}

// switch (LOWORD (wParam))

// {

// case ID_MENUITEM40041:

// SetClassLong(hwnd, GCL_HCURSOR, (LONG)LoadCursor

// (NULL, MAKEINTRESOURCE(32512+(iCursor++)%5)));

// return 0;

// }

scroll

英 [skrəʊl]   美 [skroʊl]

GRE  /    IELTS

n

(常用于录写正式文件的)纸卷; 书卷,画卷,卷轴; 涡卷形(装饰); 〈古〉表,目录

vt

使成卷形; (电脑屏幕上)从上到下移动(资料等),卷页;

vi

(似卷轴般)卷起; (像展开卷轴般地)将文字显示于屏幕;

变形

复数: scrolls  过去式: scrolled  过去分词: scrolled  现在分词: scrolling  第三人称单数: scrolls

权威例句

1 I covered the scroll in sealing wax, and affixed a red ribbon

我用封蜡将卷轴封好,并系上一根红丝带。

2 Use the arrow keys to scroll through the list of files

用箭头键把文件目录滚动一遍。

3 As I opened the scroll, a panorama of the Yellow River unfolded

我打开卷轴时, 黄河的景象展现在眼前

自2010年至今的六级考试中, scroll 共出现过 1 次

1 Since luxury is a function of scarcity, the children of tomorrow will long for nothing more than intervals of freedom from all the blinking machines, streaming videos and scrolling headlines that leave them feeling empty and too full all at once

出自-2012年12月阅读原文

柯林斯高阶英汉双解学习词典

1 N-COUNT (带有文字的)卷轴,长纸卷 A scroll is a long roll of paper or a similar material with writing on it

Ancient scrolls were found in caves by the Dead Sea

死海旁边的山洞里发现了古代的卷轴。

2N-COUNT (绘制或雕刻的)涡卷形装饰 A scroll is a painted or carved decoration made to look like a scroll

a handsome suite of chairs incised with Grecian scrolls

一套雕刻着古希腊式涡卷形装饰的造型美观的椅子

3VERB (在屏幕上)滚动(文档),滚屏 If you scroll through text on a computer screen, you move the text up or down to find the information that you need

I scrolled down to find 'United States of America'

我向下滚动文档搜索“美利坚合众国”。

Scroll Lock键最早出现在IBM的PC/XT机型的83键盘和AT接口的84键盘上,现在这个键不仅仅出现在PC机的101键盘上,连苹果机的“增强”型键盘上也加上了该按键。该键在DOS时期用处很大,由于当时显示技术,限制了屏幕只能显示宽80个字符长25行的文字,在阅读文档时,使用该键能非常方便地翻滚页面。

随着技术发展,在进入Windows时代后,Scroll Lock键的作用越来越小,不过在Excel中它还是有点用处:如果在Scroll Lock关闭的状态下使用翻页键(如Page Up和Page Down)时,单元格选定区域会随之发生移动;反之,若要在滚动时不改变选定的单元格,那只要按下Scroll Lock即可。

让Scroll Lock有英雄用武之地

好多朋友与键盘做伴N年了都不会碰它一下Scroll Lock,如果向前追溯到DOS年代的话,当时由于屏幕显示为字符方式,每屏可显示25行,每行有80个字符,Scroll Lock键的作用就是在阅读较长的文档时进行翻滚,就像现在有好多网页为了方便访问者而通过双击鼠标进行滚动阅读一样。但到了windows年代,Scroll Lock键基本是退出了历史的舞台,显得英雄无用武之地。不过,既然能在键盘这一亩三分地之上占有一席之地,我们总该把它派点儿用场吧!到天空或者华军下载名为“xCAT-Keyboard Network Leds”(键盘灯显示网络流量)的免费绿色小程序(你可以到百度上输入搜索到),双击就可运行。

上网下载软件时弯腰探头查看主机屁股后网卡指示灯状态的经历吧,因为只要看到了欢快的闪烁的指示灯,就说明下载数据过程是正常的。对了,现在我们的目的就是让Scroll Lock指示灯发挥余热,代替网卡实时地指示下载数据流量!先分别选中“启用程序”和“监视下载情况”,才显示下载流量的下拉列表框中选择“Scroll Lock”,LED闪烁频率选择默认的“150毫秒”就行了,最后点确定就行了。本法简单易行,而且键盘指示灯与网卡指示灯性质都一样,皆为二极管LED灯,即使长时间地闪烁也没事。

setPadding(int, int, int, int) 这个就可以控制边距了

各种Layout用到的一些重要的属性:

第一类:属性值为true或false

android:layout_centerHrizontal 水平居中

android:layout_centerVertical 垂直居中

android:layout_centerInparent 相对于父元素完全居中

android:layout_alignParentBottom 贴紧父元素的下边缘

android:layout_alignParentLeft 贴紧父元素的左边缘

android:layout_alignParentRight 贴紧父元素的右边缘

android:layout_alignParentTop 贴紧父元素的上边缘

android:layout_alignWithParentIfMissing 如果对应的兄弟元素找不到的话就以父元素做参照物

第二类:属性值必须为id的引用名“@id/id-name”

android:layout_below 在某元素的下方

android:layout_above 在某元素的的上方

android:layout_toLeftOf 在某元素的左边

android:layout_toRightOf 在某元素的右边

android:layout_alignTop 本元素的上边缘和某元素的的上边缘对齐

android:layout_alignLeft 本元素的左边缘和某元素的的左边缘对齐

android:layout_alignBottom 本元素的下边缘和某元素的的下边缘对齐

android:layout_alignRight 本元素的右边缘和某元素的的右边缘对齐

第三类:属性值为具体的像素值,如30dip,40px

android:layout_marginBottom 离某元素底边缘的距离

android:layout_marginLeft 离某元素左边缘的距离

android:layout_marginRight 离某元素右边缘的距离

android:layout_marginTop 离某元素上边缘的距离

EditText的android:hint

设置EditText为空时输入框内的提示信息。

android:gravity

android:gravity属性是对该view 内容的限定比如一个button 上面的text 你可以设置该text 在view的靠左,靠右等位置以button为例,android:gravity=”right”则button上面的文字靠右

android:layout_gravity

android:layout_gravity是用来设置该view相对与起父view 的位置比如一个button 在linearlayout里,你想把该button放在靠左、靠右等位置就可以通过该属性设置以button为例,android:layout_gravity=”right”则button靠右

android:layout_alignParentRight

使当前控件的右端和父控件的右端对齐。这里属性值只能为true或false,默认false。

android:scaleType:

android:scaleType是控制如何resized/moved来匹对ImageView的size。ImageViewScaleType / android:scaleType值的意义区别:

CENTER /center 按的原来size居中显示,当长/宽超过View的长/宽,则截取的居中部分显示

CENTER_CROP / centerCrop 按比例扩大的size居中显示,使得长(宽)等于或大于View的长(宽)

CENTER_INSIDE / centerInside 将的内容完整居中显示,通过按比例缩小或原来的size使得长/宽等于或小于View的长/宽

FIT_CENTER / fitCenter 把按比例扩大/缩小到View的宽度,居中显示

FIT_END / fitEnd 把按比例扩大/缩小到View的宽度,显示在View的下部分位置

FIT_START / fitStart 把按比例扩大/缩小到View的宽度,显示在View的上部分位置

FIT_XY / fitXY 把不按比例扩大/缩小到View的大小显示

MATRIX / matrix用矩阵来绘制,动态缩小放大来显示。

XML属性

属性名称

描述

android:background

设置背景色/背景。可以通过以下两种方法设置背景为透明:”@android:color /transparent”和”@null”。注意TextView默认是透明的,不用写此属性,但是Buttom/ImageButton /ImageView想透明的话就得写这个属性了。

android:clickable

是否响应点击事件。

android:contentDescription

设置View的备注说明,作为一种辅助功能提供,为一些没有文字描述的View提供说明,如ImageButton。这里在界面上不会有效果,自己在程序中控制,可临时放一点字符串数据。

android:drawingCacheQuality

设置绘图时半透明质量。有以下值可设置:auto(默认,由框架决定)/high(高质量,使用较高的颜色深度,消耗更多的内存)/low(低质量,使用较低的颜色深度,但是用更少的内存)。

android:duplicateParentState

如果设置此属性,将直接从父容器中获取绘图状态(光标,按下等)。 见下面代码部分,注意根据目前测试情况仅仅是获取绘图状态,而没有获取事件,也就是你点一下LinearLayout时Button有被点击的效果,但是不执行点击事件。

android:fadingEdge

设置拉滚动条时 ,边框渐变的放向。none(边框颜色不变),horizontal(水平方向颜色变淡),vertical(垂直方向颜色变淡)。参照fadingEdgeLength的效果图

android:fadingEdgeLength

设置 边框渐变的长度。

android:fitsSystemWindows

设置布局调整时是否考虑系统窗口(如状态栏)

android:focusable

设置是否获得焦点。若有requestFocus()被调用时,后者优先处理。注意在表单中想设置某一个如 EditText获取焦点,光设置这个是不行的,需要将这个EditText前面的focusable都设置为false才行。在Touch模式下获取焦点需要设置focusableInTouchMode为true。

android:focusableInTouchMode

设置在Touch模式下View是否能取得焦点。

android:hapticFeedbackEnabled

设置长按时是否接受其他触摸反馈事件。这里模拟器没有试出效果,难道是多点触摸?找不到资料可以找找performHapticFeedback或HapticFeedback这个关键字的资料看看。

android:id

给当前View设置一个在当前layoutxml中的唯一编号,可以通过调用ViewfindViewById() 或ActivityfindViewById()根据这个编号查找到对应的View。不同的layoutxml之间定义相同的id不会冲突。格式如”@+id/btnName”

android:isScrollContainer

设置当前View为滚动容器。这里没有测试出效果来,ListView/ GridView/ ScrollView根本就不用设置这个属性,而EdidText设置android:scrollbars也能出滚动条。

android:keepScreenOn

View在可见的情况下是否保持唤醒状态。

常在LinearLayout使用该属性,但是模拟器这里没有效果。

android:longClickable

设置是否响应长按事件

android:minHeight

设置视图最小高度

android:minWidth

设置视图最小宽度度

android:nextFocusDown

设置下方指定视图获得下一个焦点。焦点移动是基于一个在给定方向查找最近邻居的算法。如果指定视图不存在,移动焦点时将报运行时错误。可以设置imeOptions= actionDone,这样输入完即跳到下一个焦点。

android:nextFocusLeft

设置左边指定视图获得下一个焦点。

android:nextFocusRight

设置右边指定视图获得下一个焦点。

android:nextFocusUp

设置上方指定视图获得下一个焦点。

android:onClick

点击时从上下文中调用指定的方法。这里指定一个方法名称,一般在Activity定义符合如下参数和返回值的函数并将方法名字符串指定为该值即可:

public void onClickButton(View view)

android:onClick=” onClickButton”

android:padding

设置上下左右的边距,以像素为单位填充空白。

android:paddingBottom

设置底部的边距,以像素为单位填充空白。

android:paddingLeft

设置左边的边距,以像素为单位填充空白。

android:paddingRight

设置右边的边距,以像素为单位填充空白。

android:paddingTop

设置上方的边距,以像素为单位填充空白。

android:saveEnabled

设置是否在窗口冻结时(如旋转屏幕)保存View的数据,默认为true,但是前提是你需要设置id才能自动保存,参见这里。

android:scrollX

以像素为单位设置水平方向滚动的的偏移值,在GridView中可看的这个效果。

android:scrollY

以像素为单位设置垂直方向滚动的的偏移值

android:scrollbarAlwaysDrawHorizontalTrack

设置是否始终显示垂直滚动条。这里用ScrollView、ListView测试均没有效果。

android:scrollbarAlwaysDrawVerticalTrack

设置是否始终显示垂直滚动条。这里用ScrollView、ListView测试均没有效果。

android:scrollbarDefaultDelayBeforeFade

设置N毫秒后开始淡化,以毫秒为单位。

android:scrollbarFadeDuration

设置滚动条淡出效果(从有到慢慢的变淡直至消失)时间,以毫秒为单位。Android22中滚动条滚动完之后会消失,再滚动又会出来,在15、16版本里面会一直显示着。

android:scrollbarSize

设置滚动条的宽度。

android:scrollbarStyle

设置滚动条的风格和位置。设置值:insideOverlay、insideInset、outsideOverlay、outsideInset。这里没有试出太多效果,以下依次是outsideOverlay与outsideInset效果截图比较:

android:scrollbarThumbHorizontal

设置水平滚动条的drawable(如颜色)。

android:scrollbarThumbVertical

设置垂直滚动条的drawable(如颜色)

android:scrollbarTrackHorizontal

设置水平滚动条背景(轨迹)的色drawable(如颜色)

android:scrollbarTrackVertical

设置垂直滚动条背景(轨迹)的drawable注意直接设置颜色值如”android:color/white”将得出很难看的效果,甚至都不理解这个属性了,这里可以参见ApiDemos里res/drawable/ scrollbar_vertical_thumbxml和scrollbar_vertical_trackxml,设置代码为:android:scrollbarTrackVertical ="@drawable/scrollbar_vertical_track"

android:scrollbars

设置滚动条显示。none(隐藏),horizontal(水平),vertical(垂直)。见下列代码演示使用该属性让EditText内有滚动条。但是其他容器如LinearLayout设置了但是没有效果。

android:soundEffectsEnabled

设置点击或触摸时是否有声音效果

android:tag

设置一个文本标签。可以通过ViewgetTag()或 for with ViewfindViewWithTag()检索含有该标签字符串的View。但一般最好通过ID来查询View,因为它的速度更快,并且允许编译时类型检查。

android:visibility

设置是否显示View。设置值:visible(默认值,显示),invisible(不显示,但是仍然占用空间),gone(不显示,不占用空间)

XML属性

属性名称描述

android:background 设置背景色/背景。可以通过以下两种方法设置背景为透明:”@android:color/transparent”和”@null”。注意 TextView 默认是透明的,不用写此属性,但是Buttom/ImageButton/ImageView想透明的话就得写这个属性了。

android:clickable 是否响应点击事件。

android:contentDescription 设置View的备注说明,作为一种辅助功能提供,为一些没有文字描述的View提供说明,如ImageButton。这里在界面上 不会有效果,自己在程序中控制,可临时放一点字符串数据。

android:drawingCacheQuality 设置绘图时半透明质量。有以下值可设置:auto(默认,由框架决定)/high(高质量,使用较高的颜色深度,消耗更多的内存)/low(低质量,使用较低的颜色深度,但是用更少的内存)。

android:duplicateParentState 如果设置此属性,将直接从父容器中获取绘图状态(光标,按下等)。见下面代码部分,注意根据目前测试情况仅仅是获取绘图状态,而没有获取事件,也就是你点一下LinearLayout时Button有被点击的效果,但是不执行点击事件。

android:fadingEdge 设置拉滚动条时,边框渐变的放向。none(边框颜色不变),horizontal(水平方向颜色变淡),vertical(垂直方向颜色变淡)。参照fadingEdgeLength的效果图

android:fadingEdgeLength 设置边框渐变的长度。

android:fitsSystemWindows 设置布局调整时是否考虑系统窗口(如状态栏)

android:focusable 设置是否获得焦点。若有requestFocus()被调用时,后者优先处理。注意在表单中想设置某一个如EditText获取焦点,光设置这个是不行的,需要将这个EditText前面的focusable都设置为false才行。在Touch模式下获取焦点需要设置 focusableInTouchMode为true。

android:focusableInTouchMode 设置在Touch模式下View是否能取得焦点。

android:hapticFeedbackEnabled 设置长按时是否接受其他触摸反馈事件。这里模拟器没有试出效果,难道是多点触摸?找不到资料可以找找performHapticFeedback或HapticFeedback这个关键字的资料看看。

android:id 给当前View设置一个在当前layoutxml中的唯一编号,可以通过调用ViewfindViewById() 或ActivityfindViewById()根据这个编号查找到对应的View。不同的layoutxml之间定义相同的id不会冲突。格式如”@+id/btnName”

android:isScrollContainer 设置当前View为滚动容器。这里没有测试出效果来,ListView/ GridView/ ScrollView根本就不用设置这个属性,而EdidText设置android:scrollbars也能出滚动条。

android:keepScreenOn View在可见的情况下是否保持唤醒状态。

常在LinearLayout使用该属性,但是模拟器这里没有效果。

android:longClickable 设置是否响应长按事件

android:minHeight 设置视图最小高度

android:minWidth 设置视图最小宽度度

android:nextFocusDown 设置下方指定视图获得下一个焦点。焦点移动是基于一个在给定方向查找最近邻居的算法。如果指定视图不存在,移动焦点时将报运行时错误。可以设置imeOptions= actionDone,这样输入完即跳到下一个焦点。

android:nextFocusLeft 设置左边指定视图获得下一个焦点。

android:nextFocusRight 设置右边指定视图获得下一个焦点。

android:nextFocusUp 设置上方指定视图获得下一个焦点。

android:onClick 点击时从上下文中调用指定的方法。这里指定一个方法名称,一般在Activity定义符合如下参数和返回值的函数并将方法名字符串指定为该值即可:

public voidonClickButton(View view)

android:onClick=”onClickButton”

android:padding 设置上下左右的边距,以像素为单位填充空白。

android:paddingBottom 设置底部的边距,以像素为单位填充空白。

android:paddingLeft 设置左边的边距,以像素为单位填充空白。

android:paddingRight 设置右边的边距,以像素为单位填充空白。

android:paddingTop 设置上方的边距,以像素为单位填充空白。

android:saveEnabled 设置是否在窗口冻结时(如旋转屏幕)保存View的数据,默认为true,但是前提是你需要设置id才能自动保存,参见这里。

android:scrollX 以像素为单位设置水平方向滚动的的偏移值,在GridView中可看的这个效果。

android:scrollY 以像素为单位设置垂直方向滚动的的偏移值

android:scrollbarAlwaysDrawHorizontalTrack 设置是否始终显示垂直滚动条。这里用ScrollView、ListView测试均没有效果。

android:scrollbarAlwaysDrawVerticalTrack 设置是否始终显示垂直滚动条。这里用ScrollView、ListView测试均没有效果。

android:scrollbarDefaultDelayBeforeFade 设置N毫秒后开始淡化,以毫秒为单位。

android:scrollbarFadeDuration 设置滚动条淡出效果(从有到慢慢的变淡直至消失)时间,以毫秒为单位。Android22中滚动条滚动完之后会消失,再滚动又会出来,在15、16版本里面会一直显示着。

android:scrollbarSize 设置滚动条的宽度。

android:scrollbarStyle 设置滚动条的风格和位置。设置值:insideOverlay、insideInset、outsideOverlay、outsideInset。这里没有试出太多效果,以下依次是outsideOverlay与outsideInset效果截图比较:

android:scrollbarThumbHorizontal 设置水平滚动条的drawable(如颜色)。

android:scrollbarThumbVertical 设置垂直滚动条的drawable(如颜色)

android:scrollbarTrackHorizontal 设置水平滚动条背景(轨迹)的色drawable(如颜色)

android:scrollbarTrackVertical 设置垂直滚动条背景(轨迹)的drawable注意直接设置颜色值如”android:color/white”将得出很难看的效果,甚至都不理解这个属性了,这里可以参见ApiDemos里res/drawable/ scrollbar_vertical_thumbxml和scrollbar_vertical_trackxml,设置代码为:android:scrollbarTrackVertical="@drawable/scrollbar_vertical_track"

android:scrollbars 设置滚动条显示。none(隐藏),horizontal(水平),vertical(垂直)。见下列代码演示使用该属性让EditText内有滚动条。但是其他容器如LinearLayout设置了但是没有效果。

android:soundEffectsEnabled 设置点击或触摸时是否有声音效果

android:tag 设置一个文本标签。可以通过ViewgetTag()或 for with ViewfindViewWithTag()检索含有该标签字符串的View。但一般最好通过ID来查询View,因为它的速度更快,并且允许编译时类型检查。

android:visibility 设置是否显示View。设置值:visible(默认值,显示),invisible(不显示,但是仍然占用空间),gone(不显示,不占用空间)

以上就是关于Frontpage中如何进行上下字幕滚动的设计全部的内容,包括:Frontpage中如何进行上下字幕滚动的设计、关于编程、“scroll”是什么意思等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9567771.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存