如何设置android颜色选择控件中控件的颜色透明度

自定义控件的背景色如何设置成透明?
[问题点数:20分,结帖人fengxue1234]
自定义控件的背景色如何设置成透明?
[问题点数:20分,结帖人fengxue1234]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
2015年1月 .NET技术大版内专家分月排行榜第二2014年11月 .NET技术大版内专家分月排行榜第二2014年5月 .NET技术大版内专家分月排行榜第二2014年4月 .NET技术大版内专家分月排行榜第二2012年2月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第二
2014年12月 .NET技术大版内专家分月排行榜第三2014年10月 .NET技术大版内专家分月排行榜第三2014年9月 .NET技术大版内专家分月排行榜第三2014年1月 .NET技术大版内专家分月排行榜第三2013年12月 .NET技术大版内专家分月排行榜第三2013年10月 .NET技术大版内专家分月排行榜第三2013年5月 .NET技术大版内专家分月排行榜第三2011年9月 .NET技术大版内专家分月排行榜第三2011年2月 .NET技术大版内专家分月排行榜第三2010年2月 .NET技术大版内专家分月排行榜第三
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。后使用快捷导航没有帐号?
查看: 3003|回复: 3
[=================]如何 让 picturebox 上的控件 背景色透明时显示 图片的颜色
在线时间0 小时
TA的帖子TA的资源
一粒金砂, 积分 0, 距离下一级还需 50 积分
(用 2005 C# 做wince程序&&窗体不能设置背景图片&&没法只好用一个picturebox 加载图片做背景了..........才出现这样的情况)
窗体上&&放&&一个 picturebox&&加载图片作&&背景
拖放 一个 panel 控件 到 picturebox&&上 设置 panel背景色 为 Transparent透明&&但是它显示的是 窗体的灰色
却不显示 picturebox&&里 图片的颜色
如何解决啊
将控件的背景色设为Transparent,并且控件.Parent = this.picturebox&&
会提示出错
在线时间0 小时
TA的帖子TA的资源
CE下,使用系统自带的控件,是不可能实现背景透明的
窗体不能设置背景图片???也对,不能直接设置,但可以使用DC来绘制啊!
在线时间0 小时
TA的帖子TA的资源
引用 1 楼 91program 的回复:
CE下,使用系统自带的控件,是不可能实现背景透明的
窗体不能设置背景图片???也对,不能直接设置,但可以使用DC来绘制啊!
DC ?如何绘制&&菜鸟
在线时间0 小时
TA的帖子TA的资源
去网上查VC下相关的东东,是通有的
Powered by
逛了这许久,何不进去瞧瞧?Android UI 之一步步教你自定义控件(自定义属性、合理设计onMeasure、合理设计onDraw等) - 推酷
Android UI 之一步步教你自定义控件(自定义属性、合理设计onMeasure、合理设计onDraw等)
& & Android开发做到了一定程度,多少都会用到自定义控件,一方面是更加灵活,另一方面在大数据量的情况下自定义控件的效率比写布局文件更高。
& & 一个相对完善的自定义控件在布局文件中和java代码中都应能灵活设置属性。另外在普通的布局中和AdapterView中都应能正确绘制,这就要求合理设计onMeasure方法,下文中会做比较详细的讲解。
& & 接下来我就一步一步来讲解如何设计和编写一个比较完善的自定义控件。
& & 首先要来设计好我们要完成的效果,我们今天来实现下图所示的这样一个控件:
& & 用文字来描述一下:我们要定义的控件上方会显示一张图片,我们可以设置这张图片的内容,长宽比,透明度,伸缩模式,以及图片四周的填充空间大小。图片下方会显示一行文字,作为一级标题,我们可以设置文字的内容,大小,颜色,以及文字区域四周的填充空间的大小。一级标题下方显示一行二级标题,具体设置内容和一级标题相同。
& & 我们不妨先来直接看一下完成后的效果,这样可以更直观的了解要实现的控件的样子。
& & & & & & & & & &
& & 左图的样子是在常规的布局中自定义控件的样子,右图则是在大数据量的情况下自定义控件作为AdapterView的item的时候绘制出来的样子。
& & 上面我们大体完成了初步的控件设计,下面我们开始编写代码。
& & 第一步,我们写好自定义属性,根据我们上面所做的设计,我们的自定义属性涉及到三个方面,分别是图片相关的属性,一级标题相关的属性,二级标题相关的属性。
& & 按照惯例,我们首先在res/values文件目录下创建一个attrs.xml文件。
& & 然后我们在attrs.xml文件中完成我们对属性的定义,代码片段如下:
&?xml version=&1.0& encoding=&utf-8&?&
&resources&
&attr name=&imageSrc& format=&reference&/&
&attr name=&imageAspectRatio& format=&float&/&
&attr name=&imageAlpha& format=&float&/&
&attr name=&imagePaddingLeft& format=&dimension&/&
&attr name=&imagePaddingTop& format=&dimension&/&
&attr name=&imagePaddingRight& format=&dimension&/&
&attr name=&imagePaddingBottom& format=&dimension&/&
&attr name=&imageScaleType&&
&enum name=&fillXY& value=&0&/&
&enum name=&center& value=&1&/&
&attr name=&titleText& format=&string&/&
&attr name=&titleTextSize& format=&dimension&/&
&attr name=&titleTextColor& format=&color&/&
&attr name=&titlePaddingLeft& format=&dimension&/&
&attr name=&titlePaddingTop& format=&dimension&/&
&attr name=&titlePaddingRight& format=&dimension&/&
&attr name=&titlePaddingBottom& format=&dimension&/&
&attr name=&subTitleText& format=&string&/&
&attr name=&subTitleTextSize& format=&dimension&/&
&attr name=&subTitleTextColor& format=&color&/&
&attr name=&subTitlePaddingLeft& format=&dimension&/&
&attr name=&subTitlePaddingTop& format=&dimension&/&
&attr name=&subTitlePaddingRight& format=&dimension&/&
&attr name=&subTitlePaddingBottom& format=&dimension&/&
&declare-styleable name=&CustomView&&
&attr name=&imageSrc&/&
&attr name=&imageAspectRatio& /&
&attr name=&imageAlpha& /&
&attr name=&imagePaddingLeft& /&
&attr name=&imagePaddingTop& /&
&attr name=&imagePaddingRight& /&
&attr name=&imagePaddingBottom& /&
&attr name=&imageScaleType& /&
&attr name=&titleText& /&
&attr name=&titleTextSize& /&
&attr name=&titleTextColor& /&
&attr name=&titlePaddingLeft& /&
&attr name=&titlePaddingTop& /&
&attr name=&titlePaddingRight& /&
&attr name=&titlePaddingBottom& /&
&attr name=&subTitleText& /&
&attr name=&subTitleTextSize& /&
&attr name=&subTitleTextColor& /&
&attr name=&subTitlePaddingLeft& /&
&attr name=&subTitlePaddingTop& /&
&attr name=&subTitlePaddingRight& /&
&attr name=&subTitlePaddingBottom& /&
&/declare-styleable&
&/resources&
& & 这里需要说明几点:&attr&标签的format属性值代表属性的类型,这个类型值一共有10种,分别是:reference,float,color,dimension,boolean,string,enum,integer,fraction,flag
。但是我们作为开发者常用的基本上只有reference,float,color,dimension,boolean,string,enum这7种。在attrs.xml文件中的&declare-styleable&标签的name属性的值,按照惯例我们都是写成自定义控件类的名字。一个同名的&attr&在attrs.xml中只可以定义一次。
& & 除此之外,上面的代码都是针对前面的设计来定义了各种属性,相信各位同学都能看懂。
& & 第二步就是编写我们自定义控件的java类了,我们首先将之前做的自定义属性在自定义控件类中做好声明:
/** 图片Bitmap */
private Bitmap imageB
/** 图片的长宽比 */
private float imageAspectR
/** 图片的透明度 */
private float imageA
/** 图片的左padding*/
private int imagePaddingL
/** 图片的上padding */
private int imagePaddingT
/** 图片的右padding */
private int imagePaddingR
/** 图片的下padding */
private int imagePaddingB
/** 图片伸缩模式 */
private int imageScaleT
/** 图片伸缩模式常量 fillXY */
private static final int SCALE_TYPE_FILLXY = 0;
/** 图片伸缩模式常量 center */
private static final int SCALE_TYPE_CENTER = 1;
/** 标题文本内容 */
private String titleT
/** 标题文本字体大小 */
private int titleTextS
/** 标题文本字体颜色 */
private int titleTextC
/** 标题文本区域左padding */
private int titlePaddingL
/** 标题文本区域上padding */
private int titlePaddingT
/** 标题文本区域右padding */
private int titlePaddingR
/** 标题文本区域下padding */
private int titlePaddingB
/** 子标题文本内容 */
private String subTitleT
/** 子标题文本字体大小 */
private int subTitleTextS
/** 子标题文本字体颜色 */
private int subTitleTextC
/** 子标题文本区域左padding */
private int subTitlePaddingL
/** 子标题文本区域上padding */
private int subTitlePaddingT
/** 子标题文本区域右padding */
private int subTitlePaddingR
/** 子标题文本区域下padding */
private int subTitlePaddingB
/** 控件用的paint */
private TextPaint textP
/** 用来界定控件中不同部分的绘制区域 */
/** 宽度和高度的最小值 */
private static final int MIN_SIZE = 12;
/** 控件的宽度 */
private int mViewW
/** 控件的高度 */
private int mViewH
& & 然后我们要在构造方法中,将从布局文件中读取的自定义属性解析出来。
TypedArray a = context.getTheme().obtainStyledAttributes(
attrs, R.styleable.CustomView, defStyle, 0);
int n = a.getIndexCount();
for (int i = 0; i & i++) {
int attr = a.getIndex(i);
switch (attr) {
case R.styleable.CustomView_imageSrc:
imageBitmap = BitmapFactory.decodeResource(
getResources(), a.getResourceId(attr, 0));
case R.styleable.CustomView_imageAspectRatio:
imageAspectRatio = a.getFloat(attr, 1.0f);//默认长宽相等
case R.styleable.CustomView_imageAlpha:
imageAlpha = a.getFloat(attr, 1.0f);//默认不透明
if (imageAlpha & 1.0f) imageAlpha = 1.0f;
if (imageAlpha & 0.0f) imageAlpha = 0.0f;
case R.styleable.CustomView_imagePaddingLeft:
imagePaddingLeft = a.getDimensionPixelSize(attr, 0);
case R.styleable.CustomView_imagePaddingTop:
imagePaddingTop = a.getDimensionPixelSize(attr, 0);
case R.styleable.CustomView_imagePaddingRight:
imagePaddingRight = a.getDimensionPixelSize(attr, 0);
case R.styleable.CustomView_imagePaddingBottom:
imagePaddingBottom = a.getDimensionPixelSize(attr, 0);
case R.styleable.CustomView_imageScaleType:
imageScaleType = a.getInt(attr, 0);
case R.styleable.CustomView_titleText:
titleText = a.getString(attr);
case R.styleable.CustomView_titleTextSize:
titleTextSize = a.getDimensionPixelSize(
attr, (int) TypedValue.applyDimension(
PLEX_UNIT_SP, 25, getResources().getDisplayMetrics()));//默认标题字体大小25sp
case R.styleable.CustomView_titleTextColor:
titleTextColor = a.getColor(attr, 0x);//默认黑色字体
case R.styleable.CustomView_titlePaddingLeft:
titlePaddingLeft = a.getDimensionPixelSize(attr, 0);
case R.styleable.CustomView_titlePaddingTop:
titlePaddingTop = a.getDimensionPixelSize(attr, 0);
case R.styleable.CustomView_titlePaddingRight:
titlePaddingRight = a.getDimensionPixelSize(attr, 0);
case R.styleable.CustomView_titlePaddingBottom:
titlePaddingBottom = a.getDimensionPixelSize(attr, 0);
case R.styleable.CustomView_subTitleText:
subTitleText = a.getString(attr);
case R.styleable.CustomView_subTitleTextSize:
subTitleTextSize = a.getDimensionPixelSize(attr,
(int) TypedValue.applyDimension(
20, PLEX_UNIT_SP, getResources().getDisplayMetrics()));//默认子标题字体大小20sp
case R.styleable.CustomView_subTitleTextColor:
subTitleTextColor = a.getColor(attr, 0x);
case R.styleable.CustomView_subTitlePaddingLeft:
subTitlePaddingLeft = a.getDimensionPixelSize(attr, 0);
case R.styleable.CustomView_subTitlePaddingTop:
subTitlePaddingTop = a.getDimensionPixelSize(attr, 0);
case R.styleable.CustomView_subTitlePaddingRight:
subTitlePaddingRight = a.getDimensionPixelSize(attr, 0);
case R.styleable.CustomView_subTitlePaddingBottom:
subTitlePaddingBottom = a.getDimensionPixelSize(attr, 0);
a.recycle();
& & 这里需要说明几点,TypedArray对象在使用完毕后一定要调用recycle()方法。我之前曾在一篇文章中总结过
实际上,android中也提供了单位转换的函数,我们也可以使用TypedValue.applyDimension(int unit, float value,&DisplayMetrics metrics)方法来进行单位的互换,其中,第一个参数是你想要得到的单位,第二个参数是你想得到的单位的数值,比如:我要得到一个25sp,那么我就用TypedValue.PLEX_UNIT_SP, 25,getResources().getDisplayMetrics()),返回的就是25sp对应的px数值了。
& & 接下来我们要开始设计onMeasure方法,再设计onMeasure之前我们简单了解几个概念。
& & MeasureSpec的三种模式:
& & EXACTLY:表示我们设置了MATCH_PARENT或者一个准确的数值,含义是父布局要给子布局一个确切的大小。
& & AT_MOST:表示子布局将被限制在一个最大值之内,通常是子布局设置了wrap_content。
& & UNSPECIFIED:表示子布局想要多大就可以要多大,通常出现在AdapterView中item的heightMode中。
& & 了解了上面几个概念,我们就可以开始设计onMeasure了,具体代码如下:
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int widthMode = MeasureSpec.getMode(widthMeasureSpec);
int widthSize = MeasureSpec.getSize(widthMeasureSpec);
int heightMode = MeasureSpec.getMode(heightMeasureSpec);
int heightSize = MeasureSpec.getSize(heightMeasureSpec);
if (widthMode == MeasureSpec.EXACTLY) {
width = widthS
int desired = getPaddingLeft() + getPaddingRight() +
imagePaddingLeft + imagePaddingR
desired += (imageBitmap != null) ? imageBitmap.getWidth() : 0;
width = Math.max(MIN_SIZE, desired);
if (widthMode == MeasureSpec.AT_MOST) {
width = Math.min(desired, widthSize);
if (heightMode == MeasureSpec.EXACTLY) {
height = heightS
int rawWidth = width - getPaddingLeft() - getPaddingRight();
int desired = (int) (getPaddingTop() + getPaddingBottom() + imageAspectRatio * rawWidth);
if (titleText != null) {
paint.setTextSize(titleTextSize);
FontMetrics fm = paint.getFontMetrics();
int textHeight = (int) Math.ceil(fm.descent - fm.ascent);
desired += (textHeight + titlePaddingTop + titlePaddingBottom);
if (subTitleText != null) {
paint.setTextSize(subTitleTextSize);
FontMetrics fm = paint.getFontMetrics();
int textHeight = (int) Math.ceil(fm.descent - fm.ascent);
desired += (textHeight + subTitlePaddingTop + subTitlePaddingBottom);
height = Math.max(MIN_SIZE, desired);
if (heightMode == MeasureSpec.AT_MOST) {
height = Math.min(desired, heightSize);
setMeasuredDimension(width, height);
& & 思路是这样的:我们首先判断是不是EXACTLY模式,如果是,那就可以直接设置值了,如果不是,我们先按照UNSPECIFIED模式处理,让子布局得到自己想要的最大值,然后判断是否是AT_MOST模式,来做最后的限制。
& & 完成onMeasure过程之后,我们需要开始onDraw的设计,在onDraw中我们需要考虑各个部分设置的padding值,然后对应做出坐标的处理,整体的思路是从下向上绘制。具体的代码如下:
protected void onDraw(Canvas canvas) {
rect.left = getPaddingLeft();
rect.top = getPaddingTop();
rect.right = mViewWidth - getPaddingRight();
rect.bottom = mViewHeight - getPaddingBottom();
paint.setAlpha(255);
if (subTitleText != null) {
paint.setTextSize(subTitleTextSize);
paint.setColor(subTitleTextColor);
paint.setTextAlign(Paint.Align.LEFT);
FontMetrics fm = paint.getFontMetrics();
int textHeight = (int) Math.ceil(fm.descent - fm.ascent);
int left = getPaddingLeft() + subTitlePaddingL
int right = mViewWidth - getPaddingRight() - subTitlePaddingR
int bottom = mViewHeight - getPaddingBottom() - subTitlePaddingB
String msg = TextUtils.ellipsize(subTitleText, textPaint, right - left, TextUtils.TruncateAt.END).toString();
float textWidth = paint.measureText(msg);
float x = textWidth & (right - left) ? left + (right - left - textWidth) / 2 :
canvas.drawText(msg, x, bottom - fm.descent, paint);
rect.bottom -= (textHeight + subTitlePaddingTop + subTitlePaddingBottom);
if (titleText != null) {
paint.setTextSize(titleTextSize);
paint.setColor(titleTextColor);
paint.setTextAlign(Paint.Align.LEFT);
FontMetrics fm = paint.getFontMetrics();
int textHeight = (int) Math.ceil(fm.descent - fm.ascent);
float left = getPaddingLeft() + titlePaddingL
float right = mViewWidth - getPaddingRight() - titlePaddingR
float bottom = rect.bottom - titlePaddingB
String msg = TextUtils.ellipsize(titleText, textPaint, right - left, TextUtils.TruncateAt.END).toString();
float textWidth = paint.measureText(msg);
float x = textWidth & right - left ? left + (right - left - textWidth) / 2 :
canvas.drawText(msg, x, bottom - fm.descent, paint);
rect.bottom -= (textHeight + titlePaddingTop + titlePaddingBottom);
if (imageBitmap != null) {
paint.setAlpha((int) (255 * imageAlpha));
rect.left += imagePaddingL
rect.top += imagePaddingT
rect.right -= imagePaddingR
rect.bottom -= imagePaddingB
if (imageScaleType == SCALE_TYPE_FILLXY) {
canvas.drawBitmap(imageBitmap, null, rect, paint);
} else if (imageScaleType == SCALE_TYPE_CENTER) {
int bw = imageBitmap.getWidth();
int bh = imageBitmap.getHeight();
if (bw & rect.right - rect.left) {
int delta = (rect.right - rect.left - bw) / 2;
rect.left +=
rect.right -=
if (bh & rect.bottom - rect.top) {
int delta = (rect.bottom - rect.top - bh) / 2;
rect.top +=
rect.bottom -=
canvas.drawBitmap(imageBitmap, null, rect, paint);
& & 当做完这一步的时候,我们的自定义控件已经能够在布局文件中进行使用了,但是我们还不能在AdapterView中用我们设计的布局文件,因为AdapterView中每一个item属性都是在java代码中动态设置的,因此我们就需要给我们的自定义控件开放属性设置的接口,我们这里暂时只开放了设置图片和文字内容的接口。
public void setImageBitmap(Bitmap bitmap) {
imageBitmap =
requestLayout();
invalidate();
public void setTitleText(String text) {
titleText =
requestLayout();
invalidate();
public void setSubTitleText(String text) {
subTitleText =
requestLayout();
invalidate();
& & 做到这一步的时候,这个自定义控件基本就算完成了,后续的工作就是一些完善和修补了。
& & 接下来就是自定义控件的使用了,在布局文件中使用自定义控件的时候我们需要额外做一点工作,如下:
&RelativeLayout
xmlns:android=&/apk/res/android&
xmlns:carrey=&/apk/res/com.carrey.customview&
xmlns:tools=&/tools&
android:layout_width=&match_parent&
android:layout_height=&match_parent&
tools:context=&.MainActivity& &
&com.carrey.customview.customview.CustomView
android:id=&@+id/customview&
android:layout_width=&200dp&
android:layout_height=&200dp&
android:layout_centerInParent=&true&
android:background=&#FFD700&
carrey:imageSrc=&@drawable/clock&
carrey:imageAspectRatio=&1.0&
carrey:imageAlpha=&0.5&
carrey:imagePaddingLeft=&5dp&
carrey:imagePaddingTop=&5dp&
carrey:imagePaddingRight=&5dp&
carrey:imagePaddingBottom=&5dp&
carrey:imageScaleType=&center&
carrey:titleText=&这是一级标题&
carrey:titleTextSize=&30sp&
carrey:titleTextColor=&#1E90FF&
carrey:titlePaddingLeft=&4dp&
carrey:titlePaddingTop=&4dp&
carrey:titlePaddingRight=&4dp&
carrey:titlePaddingBottom=&4dp&
carrey:subTitleText=&这是二级子标题&
carrey:subTitleTextSize=&20sp&
carrey:subTitleTextColor=&#00FF7F&
carrey:subTitlePaddingLeft=&3dp&
carrey:subTitlePaddingTop=&3dp&
carrey:subTitlePaddingRight=&3dp&
carrey:subTitlePaddingBottom=&3dp&/&
android:id=&@+id/button&
android:layout_width=&match_parent&
android:layout_height=&wrap_content&
android:text=&next page&/&
&/RelativeLayout&
我们需要添加一行xmlns:
=&/apk/res/
com.carrey.customview
是一个前缀,你可以随意设置,
com.carrey.customview
是我们的应用的包名,如果拿不准的可以打开
Manifest文件,在&manifest&节点中找到package属性值即可。
对于在AdapterView中的使用方法就和我们正常使用一个常用控件的方法是一样的,这里就不赘述了,
如果说到了这里还有一些不明白的地方,可以下载我下面提供的源码,然后对照着博客的思路来看,或者给我留言进行交流。
已发表评论数()
&&登&&&陆&&
已收藏到推刊!
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
&style name="Transparent" parent="android:style/Theme.Dialog"&
&item name="android:windowBackground"&@color/transparent_background&/item&
&item name="android:windowNoTitle"&true&/item&
&item name="android:windowIsTranslucent"&true&/item&
&item name="android:windowAnimationStyle"&@+android:style/Animation.Translucent&/item& &/style&&/resources&PS:&parent="android:style/Theme.Dialog" 是将activity设置为弹出式窗口3. 在AndroidManifest.xml中找到要弹出的activity,加入theme:&activity android:name="ActivityName"
android:theme="@style/Transparent"
/&完成上面设置后,你的activity就已经是透明的了,但是该Activity中的控件还没有透明,如果还需要控件透明,则需要在该activity的代码中加入如下代码://设置activity中的控件透明
Window window = getWindow();
WindowManager.LayoutParams wl = window.getAttributes();
wl.flags = WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
wl.alpha=0.95f;//设置透明度,0.0为完全透明,1.0为完全不透明
window.setAttributes(wl);
阅读(4059)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'Android:将activity设置为弹出式的并设置为透明的',
blogAbstract:'1. 在res/values 下建立color.xml &resources&
&color name=\"transparent_background\"&#80ffffff&/color& &/resources&PS: #80是透明度的值(即80%透明),ffffff是颜色值(为黑色)2. 在res/values下建立style.xml&resources& &style name=\"Transparent\" parent=\"android:style/Theme.Dialog\"&',
blogTag:'设置activity透明,弹出式activity,android',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:7,
publishTime:6,
permalink:'blog/static/',
commentCount:6,
mainCommentCount:1,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:true,
hostIntro:'',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}

我要回帖

更多关于 android设置控件隐藏 的文章

 

随机推荐