android:设置背景图片、背景颜色透明

合集下载

Android中activity背景色的设置

Android中activity背景色的设置

Android中activity背景⾊的设置主题Theme就是⽤来设置界⾯UI风格,可以设置整个应⽤或者某个活动Activity的界⾯风格。

在Android SDK中内置了下⾯的Theme,可以按标题栏Title Bar和状态栏Status Bar是否可见来分类:这些主题可以应⽤到整个应⽤Application范围或者某个活动Activity范围中。

应⽤Application范围:在AndroidManifest.xml中的application节点中设置theme属性,主题theme应⽤到整个应⽤程序中。

活动Activity范围:使⽤java代码或者在AndroidManifest.xml中对活动Activity的主题进⾏设置,主题仅应⽤到当前活动中。

在AndroidMainifest.xml设置⽅法:(XML中代码间不能有空格,注意中英⽂引号)使⽤java代码进⾏设置,在当前活动Activity的onCreate中进⾏设置:[java] view plaincopyprint?@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setTheme(android.R.style.Theme_Translucent_NoTitleBar);setContentView(yout.main);}背景颜⾊还可以在布局XML中设置:<LinearLayout xmlns:android="/apk/res/android"android:orientation="vertical" android:layout_width="fill_parent"android:layout_height="fill_parent"android:background="#ffffff">直接设置Activity的背景颜⾊⼀般我们都是使⽤布局⽂件直接加载到Activity,从⽽覆盖了Activity的颜⾊。

Android实现背景颜色滑动渐变效果的全过程

Android实现背景颜色滑动渐变效果的全过程

Android实现背景颜⾊滑动渐变效果的全过程⽬录前⾔⼀、介绍⼀下GradientDrawable⼆、实现三、源码:总结前⾔今天和朋友聊到这个功能,刚开始的想法是⾃定义view,如何进⾏滑动监听,经过⼀列操作完成效果后,发现了⼀个贼简单的实现效果,如下(⽼规矩后⾯有可运⾏代码)。

效果图:⼀、介绍⼀下GradientDrawableGradientDrawable ⽀持渐变⾊的Drawable,与shapeDrawable是类似的,多了⽀持渐变⾊。

代码中的GradientDrawable⽐xml中的shape下gradient属性更加具体,shape下gradient属性只⽀持三⾊阶渐变,⽽GradientDrawable可以有更多的⾊阶渐变(GradientDrawable在Android中便是shape标签的代码实现)。

⼆、实现1、在布局中放⼊⼀个ScrollView,然后确保⾥⾯的内容能够达到滑动的效果。

2、获取屏幕的⾼度//获取屏幕⾼度private float getScreenHeight(){DisplayMetrics metric = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(metric);int width = metric.widthPixels; // 屏幕宽度(像素)int height = metric.heightPixels; // 屏幕⾼度(像素)return height;}3、获取控件⾼度(此案例为ScrollView中包裹的第⼀个⼦控件)。

4、设置颜⾊(为了⽅便颜⾊⾃接写出来)GradientDrawable aDrawable = new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM,new int[]{Color.parseColor("#ffffff"), Color.parseColor("#009966"),Color.parseColor("#00ff00")});ll_base.setBackground(aDrawable);5、获取控件与屏幕⾼度(宽度)的⽐例,根据⽐例设置颜⾊个数//得到控件的⾼度与屏幕⾼度的⽐例private float getScreenHeightScale(int height){return height/getScreenHeight();}三、源码:public class BaseActivity extends Activity {private LinearLayout ll_base;private int heights;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.activity_base);initView();}private void initView() {ll_base = (LinearLayout) findViewById(R.id.ll_base);}@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)@Overridepublic void onWindowFocusChanged(boolean hasFocus) {super.onWindowFocusChanged(hasFocus);heights = ll_base.getMeasuredHeight();float coloramount=getScreenHeightScale(heights);if (coloramount>=0&&coloramount<1.5f){GradientDrawable aDrawable = new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM,new int[]{Color.parseColor("#ffffff"), Color.parseColor("#009966")});ll_base.setBackground(aDrawable);}if (coloramount>=1.5f&&coloramount<3.0f){GradientDrawable aDrawable = new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM,new int[]{Color.parseColor("#ffffff"), Color.parseColor("#009966"), Color.parseColor("#00ff00")});ll_base.setBackground(aDrawable);}if (coloramount>=3.0f&&coloramount<4.5f){GradientDrawable aDrawable = new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM,new int[]{Color.parseColor("#ffffff"), Color.parseColor("#009966"), Color.parseColor("#00ff00"),Color.parseColor("#000000")});ll_base.setBackground(aDrawable);}// .................}//得到控件的⾼度与屏幕⾼度的⽐例private float getScreenHeightScale(int height){return height/getScreenHeight();}//获取屏幕⾼度private float getScreenHeight(){DisplayMetrics metric = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(metric);int width = metric.widthPixels; // 屏幕宽度(像素)int height = metric.heightPixels; // 屏幕⾼度(像素)return height;}}总结到此这篇关于Android实现背景颜⾊滑动渐变效果的⽂章就介绍到这了,更多相关Android背景颜⾊滑动渐变内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。

Android实现修改状态栏背景、字体和图标颜色的方法

Android实现修改状态栏背景、字体和图标颜色的方法

Android实现修改状态栏背景、字体和图标颜⾊的⽅法前⾔:Android开发,对于状态栏的修改,实在是不友好,没什么api可以⽤,不像ios那么⽅便.但是ui⼜喜欢只搞ios⼀套.没办法.各种翻源码,写反射.真的蛋疼.需求场景:当toolbar及状态栏需要为⽩⾊或浅⾊时(如简书),状态栏由于⽤的Light风格Theme,字体,图标也都是⽩⾊,会看不清.如果改变成⿊⾊就很和谐了.⼀.修改状态栏颜⾊:改变状态栏颜⾊,可以看看这篇⽂章.传送门:传送门实现的效果:这种⽅法实现的状态栏变⾊,没有⿊⾊背景.使⽤全屏模式实现的效果如下(QQ的效果):很明显的⿊⾊背景.我⽤的⼿机是华为,系统7.0⼆.修改状态栏字体:通⽤⼯具类:public class StatusBarUtil {/*** 设置状态栏⿊⾊字体图标,* 适配4.4以上版本MIUIV、Flyme和6.0以上版本其他Android** @return 1:MIUUI 2:Flyme 3:android6.0*/public static int getStatusBarLightMode(Window window) {int result = 0;if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {if (MIUISetStatusBarLightMode(window, true)) {result = 1;} else if (FlymeSetStatusBarLightMode(window, true)) {result = 2;} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);result = 3;} else {//5.0}}return result;}/*** 已知系统类型时,设置状态栏⿊⾊字体图标。

android 自定义Dialog背景透明及显示位置设置

android 自定义Dialog背景透明及显示位置设置

android 自定义Dialog背景透明及显示位置设置代码如下:1、自定义Dialogpublic class SelectDialog extends AlertDialog{public SelectDialog(Context context, int theme) {super(context, theme);}public SelectDialog(Context context) {super(context);}@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.slt_cnt_type);}}2、布局文件slt_cnt_type.xml代码<?xml version="1.0" encoding="utf-8"?><LinearLayoutxmlns:android="/apk/res/android"android:orientation="vertical"android:padding="10dp" android:layout_width="115dp" android:layout_height="wrap_content" android:background="@col or/blue"><Button android:layout_height="wrap_content" android:background="#00000000" android:layout_width="fill_parent " android:text="全部联系人" android:paddingTop="5dp" android:paddingBottom="5dp" android:paddingLeft="10dp" android:g ravity="left|center_vertical" android:id="@+id/btnSltCntAll"></Button><Button android:layout_height="wrap_content" android:background="#00000000" style="@drawable/greenhand_button " android:text="咕咚用户" android:gravity="left|center_vertical" android:paddingBottom="5dp" android:paddingTop="5dp " android:paddingLeft="10dp" android:paddingRight="10dp" android:layout_width="fill_parent" android:id="@+id/btnSlt GudongUser"></Button><Button style="@drawable/greenhand_button" android:background="#00000000" android:layout_height="wrap_content " android:layout_width="fill_parent" android:text="推荐用户" android:gravity="left|center_vertical" android:paddingT op="5dp" android:paddingBottom="5dp" android:paddingLeft="10dp" android:id="@+id/btnSltRecommend"></Button></LinearLayout>3、颜色color.xml代码<?xml version="1.0" encoding="utf-8"?><resources><color name="transparent">#00000000</color></resources>4、样式style.xml代码<?xml version="1.0" encoding="utf-8"?><resources><style name="dialog" parent="@android:style/Theme.Dialog"><item name="android:windowFrame">@null</item><!--边框--><item name="android:windowIsFloating">true</item><!--是否浮现在activity之上--><item name="android:windowIsTranslucent">false</item><!--半透明--><item name="android:windowNoTitle">true</item><!--无标题--><item name="android:windowBackground">@color/transparent</item><!--背景透明--><item name="android:backgroundDimEnabled">false</item><!--模糊--></style></resources>4、显示DialogSelectDialog selectDialog = new SelectDialog(this,R.style.dialog);//创建Dialog并设置样式主题Window win = selectDialog.getWindow();LayoutParams params = new LayoutParams();params.x = -80;//设置x坐标params.y = -60;//设置y坐标win.setAttributes(params);selectDialog.setCanceledOnTouchOutside(true);//设置点击Dialog外部任意区域关闭Dialog selectDialog.show();。

AndroidStudio全屏沉浸式透明状态栏效果

AndroidStudio全屏沉浸式透明状态栏效果

AndroidStudio全屏沉浸式透明状态栏效果如何实现?1.)首先实现全屏第一种:继承主题特定主题在Android API 19以上可以使用****.TranslucentDecor***有关的主题,自带相应半透明效果,Theme.Holo.NoActionBar.TranslucentDecor和Theme.Holo.Light.NoActionBar.TranslucentDecor两种主题为新增加的,所以要新建values-v19文件夹并创建styles文件添加如下代码<style name="AppBaseTheme" parent="android:Theme.Holo.Light.NoActionBar.TranslucentDec or"><!-- Customize your theme here. --></style>第二种:在activity中采用代码的方式Android 4.4以上可以添加如下代码if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {//透明状态栏window.addFlags(youtParams.FLAG_TRA NSLUCENT_STATUS);//透明导航栏window.addFlags(youtParams.FLAG_TRA NSLUCENT_NAVIGATION);}Android 5.0 以上也可以使用下面的代码实现全屏if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {window.clearFlags(youtParams.FLAG_TRANSLUCENT_STATUS|youtParams.FLAG_TRANSLUCENT_NAVIGATI ON);window.getDecorView().setSystemUiVisibility(View.SYSTEM_ UI_FLAG_LAYOUT_FULLSCREEN| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION| View.SYSTEM_UI_FLAG_LAYOUT_STABLE);window.addFlags(youtParams.FLAG_DR AWS_SYSTEM_BAR_BACKGROUNDS);}2.)解决状态栏占位问题第一种:主题添加如下设置<item name="android:fitsSystemWindows">true</item>第二种:activity layout根目录添加下面代码android:fitsSystemWindows="true"第三种:通过Java代码设置rootview.setFitsSystemWindows(true);3.)状态栏导航栏设置背景色4.4以上的可以采用修改contentView的背景色,或者动态添加一个view到contentView上if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {//透明状态栏window.addFlags(youtParams.FLAG_TRA NSLUCENT_STATUS);//透明导航栏window.addFlags(youtParams.FLAG_TRA NSLUCENT_NAVIGATION);//设置contentview为fitsSystemWindowsViewGroup contentView = (ViewGroup) findViewById(android.R.id.content);View childAt = contentView.getChildAt(0);if (childAt != null) {childAt.setFitsSystemWindows(true);}//给statusbar着色View view = new View(this);view.setLayoutParams(newyoutParams(youtParams.MATCH_PA RENT, getStatusBarHeight(this)));view.setBackgroundColor(color);contentView.addView(view);}动态获取StatusBarHeight函数如下/*** 获取状态栏高度** @param context context* @return 状态栏高度*/private static int getStatusBarHeight(Context context) {// 获得状态栏高度int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android");returncontext.getResources().getDimensionPixelSize(resourceId);}动态获取NavigationBarHeight函数如下/*** 获取导航栏高度** @param context context* @return 导航栏高度*/public static int getNavigationBarHeight(Context context) { int resourceId = context.getResources().getIdentifier("navigation_bar_height", "dimen", "android");returncontext.getResources().getDimensionPixelSize(resourceId);}4.)贴出整体java代码实现方式private void initWindows() {Window window = getWindow();int color = getResources().getColor(R.color.wechatBgColor);if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {window.clearFlags(youtParams.FLAG_TR ANSLUCENT_STATUS|youtParams.FLAG_TRANSLUCENT_NAVIGATI ON);window.getDecorView().setSystemUiVisibility(View.SYSTEM_ UI_FLAG_LAYOUT_FULLSCREEN| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION| View.SYSTEM_UI_FLAG_LAYOUT_STABLE);window.addFlags(youtParams.FLAG_DR AWS_SYSTEM_BAR_BACKGROUNDS);//设置状态栏颜色window.setStatusBarColor(color);//设置导航栏颜色window.setNavigationBarColor(getResources().getColor(R.c olor.footerBgColor));ViewGroup contentView = ((ViewGroup) findViewById(android.R.id.content));View childAt = contentView.getChildAt(0);if (childAt != null) {childAt.setFitsSystemWindows(true);}} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {//透明状态栏window.addFlags(youtParams.FLAG_TRA NSLUCENT_STATUS);//透明导航栏window.addFlags(youtParams.FLAG_TRA NSLUCENT_NAVIGATION);//设置contentview为fitsSystemWindowsViewGroup contentView = (ViewGroup) findViewById(android.R.id.content);View childAt = contentView.getChildAt(0);if (childAt != null) {childAt.setFitsSystemWindows(true);}//给statusbar着色View view = new View(this);view.setLayoutParams(newyoutParams(youtParams.MATCH_PA RENT, getStatusBarHeight(this)));view.setBackgroundColor(color);contentView.addView(view);}if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && useStatusBarColor) {//android6.0以后可以对状态栏文字颜色和图标进行修改getWindow().getDecorView().setSystemUiVisibility(View.SYS TEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);}}转载自:https:///whoislcj/p/6250284.html。

Android基本控件和事件-讲义

Android基本控件和事件-讲义

第一章 Android应用的基石-控件✓掌握Android的常用控件、事件、对话框✓掌握各种Android控件TextView、Button、ImageButton、EditText、RadioButton、Checkbox、ToggleButton ✓掌握控件的常用事件本章简介在第一学期,我们已经学习了安卓中的基本控件,在本章我们会复习之前学习过的基本控件,同时还会接触到安卓中新的控件预习作业请按以下步骤预习本章内容:1.带着以下任务,阅读、学习本章的相关资料。

2.标注出本章看不懂或存在疑惑的部分。

3.整理、记录学习中的问题。

4.熟记本章的英文单词。

请到中心听课前,完成下面的作业。

1.背诵英文单词(1)view:(2)text:(3)button:(4)image:(5)selector:(6)edit:(7)alert:(8)dialog:(9)Toggle:2.预习并回答以下问题阅读本章内容,回答以下问题(1)请说出至少3种本章所介绍的Android控件。

(2)简述ToggleButton的用法。

3.预习完成编码题请用本章所学的知识点,把ToggleButton的案例实现一遍4.记录预习的问题记录学习中遇到的问题,填写于下面的横线上,以便集中探讨解决————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————1.1 Andorid常用控件经过第一学期的学习,大家已经接触到Android中的一些控件了,使用控件可以很方便的进行Android应用程序中界面的开发,还可以很简单的使用事件进行一些处理,今天我们会复习到TextView、Button、ImageButton、EditText、RadioButton等几种控件。

Android实现新手引导半透明蒙层效果

Android实现新手引导半透明蒙层效果

Android实现新⼿引导半透明蒙层效果本⽂实例为⼤家分享了Android实现新⼿引导半透明蒙层效果的具体代码,供⼤家参考,具体内容如下效果图:其中的⽂字和我知道啦是ui切得两张透明图⽚⾃定义View:package com.cymobi.library.view.widget;import android.app.Activity;import android.content.Context;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.PorterDuff;import android.graphics.PorterDuffXfermode;import android.graphics.RectF;import android.util.Log;import android.view.Gravity;import android.view.View;import android.view.ViewGroup;import android.view.ViewTreeObserver;import android.widget.FrameLayout;import android.widget.RelativeLayout;import com.cymobi.library.R;/*** Created by xuke on 2017/8/24.*/public class GuideView extends RelativeLayout implements ViewTreeObserver.OnGlobalLayoutListener {private final String TAG = getClass().getSimpleName();private Context mContent;private boolean first = true;private static final String SHOW_GUIDE_PREFIX = "show_guide";private int offsetX, offsetY;private int radius;private View targetView;private View textGuideView;private View customGuideView;private Paint mCirclePaint;private Paint mBackgroundPaint;private boolean isMeasured;private int[] center;private PorterDuffXfermode porterDuffXfermode;private Bitmap bitmap;private int backgroundColor;private Canvas temp;private Direction direction;private MyShape myShape;private int[] location;private boolean onClickExit;private OnClickCallback onclickListener;private int targetViewWidth;private int targetViewHeight;private boolean isContain = false;private boolean needDraw = true;public GuideView(Context context) {super(context);this.mContent = context;}public int[] getLocation() {return location;}public void setLocation(int[] location) {this.location = location;}public int getRadius() {return radius;}public void setRadius(int radius) {this.radius = radius;}public void setDirection(Direction direction) {this.direction = direction;}public void setShape(MyShape shape) {this.myShape = shape;}public void setBgColor(int background_color) {this.backgroundColor = background_color;}public void setTargetView(View targetView) {this.targetView = targetView;}public int[] getCenter() {return center;}public void setCenter(int[] center) {this.center = center;}public void setOffsetX(int offsetX) {this.offsetX = offsetX;}public void setOffsetY(int offsetY) {this.offsetY = offsetY;}public void setContain(boolean contain) {this.isContain = contain;}public void setCustomGuideView(View customGuideView) {this.customGuideView = customGuideView;if (!first) {restoreState();}}public void setTextGuideView(View textGuideView) {this.textGuideView = textGuideView;if (!first) {restoreState();}}private boolean hasShown() {if (targetView == null)return true;return mContent.getSharedPreferences(TAG, Context.MODE_PRIVATE).getBoolean(generateUniqId(targetView), false); }private String generateUniqId(View v) {return SHOW_GUIDE_PREFIX + v.getId();}public void setOnclickListener(OnClickCallback onclickListener) {this.onclickListener = onclickListener;}private void setClickInfo() {final boolean exit = onClickExit;setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {if (onclickListener != null) {onclickListener.onClickedGuideView();}if (exit) {hide();}}});}public void show() {Log.v(TAG, "show");if (hasShown())return;if (targetView != null) {targetView.getViewTreeObserver().addOnGlobalLayoutListener(this);}this.setBackgroundResource(R.color.transparent);this.bringToFront(); //设置在最上层((FrameLayout) ((Activity) mContent).getWindow().getDecorView()).addView(this);first = false;}public void hide() {Log.v(TAG, "hide");if (customGuideView != null || textGuideView != null) {targetView.getViewTreeObserver().removeOnGlobalLayoutListener(this);this.removeAllViews();((FrameLayout) ((Activity) mContent).getWindow().getDecorView()).removeView(this);restoreState();}}/*** 获得targetView 的宽⾼** @return*/private int[] getTargetViewSize() {int[] location = {-1, -1};if (isMeasured) {location[0] = targetView.getWidth();location[1] = targetView.getHeight();}return location;}/*** 获得targetView 的半径** @return*/private int getTargetViewRadius() {if (isMeasured) {int[] size = getTargetViewSize();int x = size[0];int y = size[1];return (int) (Math.sqrt(x * x + y * y) / 2);}return -1;}@Overrideprotected void onDraw(Canvas canvas) {super.onDraw(canvas);Log.v(TAG, "onDraw");if (!isMeasured)return;if (targetView == null)return;drawBackground(canvas);}private void drawBackground(Canvas canvas) {Log.v(TAG, "drawBackground");needDraw = false;// 先绘制bitmap,再将bitmap绘制到屏幕bitmap = Bitmap.createBitmap(canvas.getWidth(), canvas.getHeight(), Bitmap.Config.ARGB_8888);temp = new Canvas(bitmap);// 背景画笔Paint bgPaint = new Paint();if (backgroundColor != 0) {bgPaint.setColor(backgroundColor);} else {bgPaint.setColor(getResources().getColor(R.color.bg_shadow));}// 绘制屏幕背景temp.drawRect(0, 0, temp.getWidth(), temp.getHeight(), bgPaint);// targetView 的透明圆形画笔if (mCirclePaint == null) {mCirclePaint = new Paint();}//透明效果porterDuffXfermode = new PorterDuffXfermode(PorterDuff.Mode.CLEAR); //SRC_OUT或者CLEAR都可以 mCirclePaint.setXfermode(porterDuffXfermode);mCirclePaint.setAntiAlias(true);if (myShape != null) {RectF oval = new RectF();switch (myShape) {case CIRCULAR://圆形temp.drawCircle(center[0], center[1], radius, mCirclePaint);break;case RECTANGULAR://圆⾓矩形if (isContain) {oval.left = location[0] - 8;oval.top = center[1] - targetViewHeight / 2 - 8;oval.right = location[0] + targetViewWidth + 8;oval.bottom = center[1] + targetViewHeight / 2 + 8;} else {oval.left = location[0] + 5;oval.top = center[1] - targetViewHeight / 2 + 1;oval.right = location[0] + targetViewWidth - 5;oval.bottom = center[1] + targetViewHeight / 2 - 1;}temp.drawRoundRect(oval, radius, radius, mCirclePaint);break;}} else {temp.drawCircle(center[0], center[1], radius, mCirclePaint);}// 绘制到屏幕canvas.drawBitmap(bitmap, 0, 0, bgPaint);bitmap.recycle();}@Overridepublic void onGlobalLayout() {if (isMeasured)return;if (targetView.getHeight() > 0 && targetView.getWidth() > 0) {isMeasured = true;targetViewWidth = targetView.getWidth();targetViewHeight = targetView.getHeight();}// 获取targetView的中⼼坐标if (center == null) {// 获取右上⾓坐标location = new int[2];targetView.getLocationInWindow(location);center = new int[2];// 获取中⼼坐标center[0] = location[0] + targetView.getWidth() / 2;center[1] = location[1] + targetView.getHeight() / 2;}// 获取targetView外切圆半径if (radius == 0) {radius = getTargetViewRadius();}//⽂字图⽚和提⽰图⽚createView();}//⽂字图⽚和我知道啦图⽚⼀起放private void createView() {Log.v(TAG, "createView");//⽂字提⽰LayoutParams textViewParams;textViewParams = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); textViewParams.setMargins(0, center[1] + radius + 10, 0, 0);// 我知道提⽰布局参数LayoutParams guideViewParams;guideViewParams = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); guideViewParams.setMargins(0, center[1] + radius + 10, 0, 0);if (textGuideView != null && customGuideView != null) {if (direction != null) {int left = center[0] + targetViewWidth / 2;int right = center[0] + targetViewWidth / 2;int top = center[1] - targetViewHeight / 2;int bottom = center[1] + targetViewHeight / 2;//我⾃⼰的项⽬只需要这两个⽅向的, 所以这⾥就只写了Top和Boottomswitch (direction) {case TOP:this.setGravity(Gravity.CENTER_HORIZONTAL);textViewParams.setMargins(offsetX, top - offsetY, -offsetX, -top + offsetY);guideViewParams.setMargins(offsetX, -3 * offsetY + top, -offsetX, -top + 3 * offsetY);break;case BOTTOM:this.setGravity(Gravity.CENTER_HORIZONTAL);textViewParams.setMargins(offsetX, bottom + offsetY, -offsetX, -bottom - offsetY);guideViewParams.setMargins(offsetX, bottom + 3 * offsetY, -offsetX, -bottom - 3 * offsetY); break;}if (this != null)this.removeAllViews();this.addView(textGuideView, textViewParams);this.addView(customGuideView, guideViewParams);}}}/*** 定义GuideView相对于targetView的⽅位,*/public enum Direction {LEFT, TOP, RIGHT, BOTTOM,LEFT_TOP, LEFT_BOTTOM,RIGHT_TOP, RIGHT_BOTTOM}/*** 定义⽬标控件的形状。

Android给TextView设置透明背景、圆角边框

Android给TextView设置透明背景、圆角边框

Android给TextView设置透明背景、圆角边框第一种方法:在drawable文件夹下新建一个文件设置背景样式代码:在drawable文件夹下面新建text_view_border.xml[java]view plaincopy1.<?xml version="1.0" encoding="UTF-8"?>2.<shape xmlns:android="/apk/res/android">3.<solid android:color="#80858175" />4.<stroke android:width="1dip" android:color="#aea594" / >5.<corners android:topLeftRadius="2dp"6.android:topRightRadius="2dp"7.android:bottomRightRadius="2dp"8.android:bottomLeftRadius="2dp"/>9.</shape>在布局文件调用[java]view plaincopy1.<TextView2.android:id="@+id/tv"3.android:layout_width="wrap_content"4.android:layout_height="wrap_content"5.android:background="@drawable/text_view_border" />在类文件中调用:[java]view plaincopy.setBackgroundResource(R.drawable.text_view_border);分析:solid设置填充颜色,颜色值以#80开头表示透明stroke 设置边框宽度,颜色值corners设置圆角第二种方法:用图片设置background。

Android-用java给textview设置文本内容颜色,背景色,背景图片,Drawa。。。

Android-用java给textview设置文本内容颜色,背景色,背景图片,Drawa。。。

Android-⽤java给textview设置⽂本内容颜⾊,背景⾊,背景图⽚,Drawa。

#给textView 添加⽂字颜⾊setTextColor(0xFF0000FF);//0xFF0000FF是int类型的数据,分组⼀下0x|FF|0000FF,0x是代表颜⾊整数的标记,ff是表⽰透明度,0000FF表⽰颜⾊,注意:这⾥0xFF0000FF必须是8个的颜⾊表⽰,不接受0000FF这种6个的颜⾊表⽰。

setTextColor(Color.rgb(255, 255, 255));setTextColor(Color.parseColor("#FFFFFF"));//还有就是使⽤资源⽂件进⾏设置setTextColor(this.getResources().getColor(R.color.blue));//通过获得资源⽂件进⾏设置。

根据不同的情况R.color.blue也可以是R.string.blue或者//另外还可以使⽤系统⾃带的颜⾊类setTextColor(android.graphics.Color.BLUE);#给textView 添加背景⾊,背景图⽚setBackgroundResource:通过颜⾊资源ID设置背景⾊。

setBackgroundColor:通过颜⾊值设置背景⾊。

setBackgroundDrawable:通过Drawable对象设置背景⾊。

下⾯分别演⽰如何⽤这3个⽅法来设置TextView组件的背景setBackgroundResource⽅法设置背景:textView.setBackgroundResource(R.color.background);setBackgroundColor⽅法设置背景:textView.setBackgroundColor(android.graphics.Color.RED);setBackgroundDrawable⽅法设置背景:Resources resources=getBaseContext().getResources();Drawable drawable=resources.getDrawable(R.color.background);textView.setBackgroundDrawable(drawable);// 作⽤:在EditText上、下、左、右设置图标(相当于android:drawableLeft="" android:drawableRight="")// 注1:setCompoundDrawablesWithIntrinsicBounds()传⼊的Drawable的宽⾼=固有宽⾼(⾃动通过getIntrinsicWidth()& getIntrinsicHeight()获取)// 注2:若不想在某个地⽅显⽰,则设置为null// 此处设置了左侧搜索图标// 另外⼀个相似的⽅法:setCompoundDrawables(Drawable left, Drawable top, Drawable right, Drawable bottom)介绍// 与 setCompoundDrawablesWithIntrinsicBounds()的区别:可设置图标⼤⼩// 传⼊的Drawable对象必须已经setBounds(x,y,width,height),即必须设置过初始位置、宽和⾼等信息// x:组件在容器X轴上的起点 y:组件在容器Y轴上的起点 width:组件的长度 height:组件的⾼度⽰例是给标签⽂本设置图标....searchRecordsLabel.setLabels(searchRecordList, new belTextProvider<SearchWordBean>() {@Overridepublic CharSequence getLabelText(TextView label, int position, SearchWordBean data) {// return null;// label就是标签项,在这⾥可以对标签项单独设置⼀些属性,⽐如⽂本样式等。

android如何设置Activity背景色为透明色

android如何设置Activity背景色为透明色

android如何设置Activity背景⾊为透明⾊⼀直听说透明效果的activity,到底长啥样呢?来张图看看,上⾯这个⽩⾊背景的就是⽅法⼀在res/values/styles.xml,设置Activity的样式<!--透明activity的style--><style name="transparent_activity"><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>color<color name="transparent_background">#50000000</color>Manifest.xml中添加<activityandroid:name=".TransparentActivity"android:theme="@style/transparent_activity" />这样就给你的activity设置了透明度,当然这个color可以根据你的需要去调整透明度⽅法⼆只要在配置⽂件内activity属性配置内加上android:theme="@android:style/Theme.Translucent"这样就调⽤了android的透明样式!备注说明请务必让你的Activity继承⾃ android.app.Activity,⽽不是Android.support.v7.app.AppCompatActivity。

Android ROM美化教程,透明等反编译修改的方法

Android ROM美化教程,透明等反编译修改的方法

Android ROM美化教程,透明等反编译修改的方法透明下拉栏1.提取你的systemui.apk,反编2.找到\res\layout\status_bar_tracking.xml文件,搜索“View android:background”,将其等号后面改成"@drawable/status_bar_background"3.回编systemui.apk4.将新apk中的status_bar_tracking.xml文件替换到老apk中这样,你的下拉栏就变成了status_bar_background.png这张图片了,修改一张透明的status_bar_background.png扔进systemui.apk中替换原文件就好了。

在用压缩方式打开替换好的APK、直接把res拖到桌面,打开drawable-hdpi,quickpanel_quick_settings_background.png这个和quickpanel_title_background.9.png这个还有title_bar_portrait.9.png这个要改成透明或半透明都可以不一定名称都一样但是方法都一样,你们进去了就知道 statusbar_background.9.png这个是状态栏直接该透明就OK记得你改的图片大小要一样{重要}透明状态栏2.3.6看其他无视同样是修改systemui.apk。

1.反编后找到smali\com\android\systemui\statusbar\StatusBarService.smali文件2.找到new-instance v0, Landroid/view/WindowManager$LayoutParams;const/4 v1, -0x1const/16 v3, 0x7d0const/16 v4, 0x48const/4 v5, 0x2修改为new-instance v0, Landroid/view/WindowManager$LayoutParams;const/4 v1, -0x1const/16 v3, 0x7d0const/16 v4, 0x48const/4 v5, -0x33.回编4.替换classes.dex5.修改一张statusbar_background.9.png图片,处理成半透明,替换效果图全局背景教程提取完后打开“framework-res.apk\res\values\在用笔记本打开styles.xml文件按“Ctrl+F”打开查找,在“找内容”查上写入<item name="windowBackground">@drawable/screen_background_dark</item>把找到的那句改成下面这句<item name="windowBackground">@drawable/wjj_qjbg</item>继续查找<style name="Widget.ListView" parent="@style/Widget.AbsListView">得到下面这段<style name="Widget.ListView" parent="@style/Widget.AbsListView"><item name="listSelector">@drawable/list_selector_background</item><item name="cacheColorHint">?colorBackgroundCacheHint</item> ----这句<item name="divider">@drawable/divider_horizontal_dark_opaque</item></style>将上面那句<item name="cacheColorHint">?colorBackgroundCacheHint</item>换成<item name="cacheColorHint">@color/transparent</item>第三步:把一张480*800的图片命名为:“wjj_qjbg”记得是PNG格式不然就悲催了放入framework-res.apk\res\drawable-hdpi然后封包接下来就要用压缩方式打开之前没改过的framework-res.apk。

Android背景透明度设置总结

Android背景透明度设置总结

Android背景透明度设置总结⼀、写在前⾯的在需求上遇到背景设置透明度还是⽐较常见的,设置透明度有⼏种⽅式,但是不同的场景应⽤下,不同的⽅式可能会出现⼀些问题。

针对开发过程中的需求做以下总结。

⼆、先看效果图图1、图2、图3、图4介绍:图1、蓝⾊头部和输⼊框背景初始状态图2、点击按钮01,输⼊框的透明度不起作⽤,和title的透明度⼀样图3、点击按钮02,背景透明度设置正常,但是可能会对全局的背景有影响图4、点击按钮03,背景透明度设置正常,具体原因代码注释有提到三、再加上代码按钮点击public void button01(View view){// search透明度不起作⽤title.setAlpha(0.2f);search.setAlpha(0.8f);}public void button02(View view){// 在布局中多个控件同时使⽤⼀个资源的时候,这些控件会共⽤⼀个状态// 如果你改变了⼀个控件的状态,其他的控件都会接收到相同的通知title.getBackground().setAlpha(51);search.getBackground().setAlpha(153);}public void button03(View view){// 使⽤mutate()⽅法使该控件状态不定,这样不定状态的控件就不会共享⾃⼰的状态了title.getBackground().mutate().setAlpha(51);search.getBackground().mutate().setAlpha(153);}布局:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"><LinearLayoutandroid:id="@+id/ll_title"android:layout_width="match_parent"android:layout_height="80dp"android:gravity="center"android:background="#0000ff"android:orientation="horizontal"><EditTextandroid:id="@+id/et_search"android:layout_width="200dp"android:layout_height="60dp"android:gravity="center"android:hint="输⼊框"android:textColorHint="#ffffff"android:background="@drawable/search_title_bg"/></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="40dp"android:orientation="horizontal"><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="01"android:onClick="button01"/><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="02"android:onClick="button02"/><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="03"android:onClick="button03"/></LinearLayout></LinearLayout>输⼊框背景 search_title_bg<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="/apk/res/android"android:shape="rectangle"><solidandroid:color="#000000"/><cornersandroid:radius="8dp"/><strokeandroid:width="1dp"android:color="#666666"/></shape>四、写在后⾯的背景透明度设置⽐较常见,mutate()⽅法,可以解决背景透明状态设置异常的现象。

android:设置背景图片、背景颜色透明

android:设置背景图片、背景颜色透明

android:设置背景图片、背景颜色透明2012-03-15 16:51:09|分类: android UI |标签: |字号大中小订阅Button或者ImageButton的背景设为透明或者半透明半透明<Button android:background="#e0000000" ... /> 透明<Button android:background="#00000000" ... />颜色和不透明度 (alpha) 值以十六进制表示法表示。

任何一种颜色的值范围都是 0 到 255(00 到 ff)。

对于alpha,00 表示完全透明,ff 表示完全不透明。

表达式顺序是“aabbggrr”,其中“aa=alpha”(00 到 ff);“bb=blue”(00 到 ff);“gg=green”(00 到 ff);“rr=red”(00 到 ff)。

例如,如果您希望对某叠加层应用不透明度为 50% 的蓝色,则应指定以下值:7fff0000 RGB设置背景图片透明度:View v = findViewById(R.id.content);//找到你要设透明背景的layout 的idv.getBackground().setAlpha(100);//0~255透明度值设置背景颜色透明度:ImageView.setBackgroundColor(Color.TRANSPARENT);android设置背景色为透明方法一:只要在配置文件内activity属性配置内加上android:theme=@android:style/Theme.Translucent 就好了。

这样就调用了android的透明样式!方法二:先在res/values下建colors.xml文件,写入:<?xmlversionxmlversion="1.0"encoding="UTF-8"?><resources><colornamecolorname="transparent">#9000</color></resources>这个值设定了整个界面的透明度,为了看得见效果,现在设为透明度为56%(9/16)左右。

Android自定义Dialog内部透明、外部遮罩效果

Android自定义Dialog内部透明、外部遮罩效果

Android⾃定义Dialog内部透明、外部遮罩效果本⽂实例为⼤家分享了Android⾃定义Dialog遮罩效果的具体代码,供⼤家参考,具体内容如下图例:代码1、⾃定义dialog:引⼊样式和代码指定样式package com.gxjl.pe.gxjlpesdk.view;import android.app.Dialog;import android.content.Context;import android.os.Bundle;import android.support.annotation.NonNull;import android.support.annotation.Nullable;import android.util.DisplayMetrics;import android.view.Gravity;import android.view.View;import android.view.Window;import android.view.WindowManager;import android.widget.TextView;import com.gxjl.pe.gxjlpesdk.R;/*** 相机、相册选择弹框* Created by xiaoshuai on 2018/8/20.*/public abstract class CameraPhotoDialog extends Dialog implements View.OnClickListener{private Context context;public CameraPhotoDialog(@NonNull Context context) {super(context, R.style.dialogTransparent);//内容样式在这⾥引⼊this.context = context;}public CameraPhotoDialog(@NonNull Context context, int themeResId) {super(context, themeResId);}protected CameraPhotoDialog(@NonNull Context context, boolean cancelable, @Nullable OnCancelListener cancelListener) {super(context, cancelable, cancelListener);}@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.dialog_camrea_photo);//tv_title = findViewById(_title);Window dialogWindow = getWindow();youtParams lp = dialogWindow.getAttributes();DisplayMetrics d = context.getResources().getDisplayMetrics(); // 获取屏幕宽、⾼⽤lp.width = (int) (d.widthPixels * 0.9); // 宽度设置为屏幕宽度的80%//lp.dimAmount=0.0f;//外围遮罩透明度0.0f-1.0fdialogWindow.setAttributes(lp);dialogWindow.setGravity(Gravity.BOTTOM);//内围区域底部显⽰}@Overridepublic void onClick(View view) {int i = view.getId();if (i == _cancel) {this.dismiss();}}protected abstract void confirm();}2、dialog_camrea_photo.xml 布局<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android" xmlns:tools="/tools"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="@android:color/transparent"android:orientation="vertical"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginBottom="10dp"android:background="@android:color/transparent"android:orientation="vertical"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:background="@drawable/bg_camera_check"android:orientation="vertical"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:padding="15dp"android:layout_gravity="center_horizontal"android:text="拍照"android:textSize="16sp"android:textColor="@color/font_007AFF"/><Viewandroid:layout_width="match_parent"android:layout_height="1dp"android:background="@color/line_ECECED"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:padding="15dp"android:layout_gravity="center_horizontal"android:text="照⽚图库"android:textSize="16sp"android:textColor="@color/font_007AFF"/></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="10dp"android:background="@drawable/bg_camera_check"android:orientation="vertical"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:padding="15dp"android:layout_gravity="center_horizontal"android:text="拍照"android:textSize="16sp"android:textColor="@color/font_007AFF"/></LinearLayout></LinearLayout></LinearLayout>3、style.xml 样式布局:指定dialog内容样式<?xml version="1.0" encoding="utf-8"?><resources><style name="dialogTransparent" parent="@android:style/Theme.Dialog"><item name="android:windowFrame">@null</item> <!--边框--><item name="android:windowIsFloating">true</item> <!--是否浮现在activity之上--><item name="android:windowIsTranslucent">true</item> <!--半透明--><item name="android:windowNoTitle">true</item> <!--⽆标题--><item name="android:background">@android:color/transparent</item> <!--背景透明--><item name="android:windowBackground">@android:color/transparent</item> <!--背景透明--> <item name="android:backgroundDimEnabled">true</item> <!--模糊--><item name="android:backgroundDimAmount">0.6</item> <!--背景透明度--></style></resources>以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

安卓手机美化教程修改应用程序背景透明背景

安卓手机美化教程修改应用程序背景透明背景

续昨天晚上修改应用程序背景,详细的编译过程,让每个朋友都学会。

应用程序, 朋友本帖最后由 Calm/kb 于 2011-6-24 19:58 编辑昨天晚上时间太仓促了发了个改背景的教程没说怎么改的,今天特别抽时间写了个详细的教程。

很多朋友的系统版本不一样,但是原理是一样的,只要是58的这方法都适用。

效果没见到的朋友看我昨天帖子:/bbs/thread-1054824-1-1.html =================================================================首先附上工具:1:Java SDK由于安卓程序基本都是由JAVA编写的这个必备下载链接:/soft/27092.html2:反编译工具:/down/index/8221026A75213:R.E管理器和busybox这两个相信大家都有,依然附下:R.E浏览器.apk (224.51 KB)stericson.busybox.jpe.apk (1.97 MB)===================================================================下面是具体步骤有图,方便大家。

提示:编译必须在安装JAVASDK前提下进行。

手机必须Root,然后用busybox提取最高权限后台挂起,再用R.E管理器提取和覆盖文件,要是这个都不会的请看其他教程。

1:首先提取手机system/app/下原文件TouchWiz30Launcher.apk到电脑。

2:在电脑上新建一个文件夹不能为中文,名字可以自取。

然后把TouchWiz30Launcher.apk 文件重命名为123.apk并放入刚才的文件夹。

附图11,223:解压反编译工具到电脑任意位置,运行APK反编译及编译工具v132 签名版.exe附图14:选择你刚才新建的文件夹--〉点安装--〉然后选1回车—〉等待完成附图25:打开刚才文件夹,里面多出一个APK文件夹路径为\APK\res\values然后用记事本打开colors.xml,最后一项用红色框选的就是应用程序的颜色,前两位为透明度从00到99,00位100%透明ff为完全不透明,后面6位为颜色代码,修改为你想的后保存。

Android和设置alpha(图像)透明度

Android和设置alpha(图像)透明度

Android和设置alpha(图像)透明度1. 没有,没有,怎么看“相关的XML属性”⼀节中的ImageView.setAlpha(INT)缺少另⼀种⽅法是View.setAlpha(浮动)/android:alpha代替。

然⽽,在仅因为API级别11后者。

2. 它⽐其他的反应更容易。

有⼀个XML值alpha这需要双重价值。

Android:alpha="0.0"那看不见的Android:alpha="0.5"透视Android:alpha="1.0"全可见这就是它的⼯作原理。

3. 我不知道有关XML,但你可以通过代码以下⾯的⽅式做到这⼀点。

ImageView myImageView = new ImageView(this);myImageView.setAlpha(xxx);其中0 <范围<=255,0为透明,255表⽰不透明。

4. 也许⼀个有⽤的替代纯颜⾊的背景:放的LinearLayout在ImageView的的的LinearLayout作为⼀个不透明的过滤器。

在下⾯的⼀个⼩例⼦,有⼀个⿊⾊的背景:<LinearLayout xmlns:android=" android:id="@+id/layout"android:layout_width="match_parent"android:layout_height="match_parent"android:background="#FF000000" ><RelativeLayoutandroid:id="@+id/relativeLayout2"android:layout_width="match_parent"android:layout_height="wrap_content" ><ImageViewandroid:id="@+id/imageView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/icon_stop_big" /><LinearLayoutandroid:id="@+id/opacityFilter"android:layout_width="fill_parent"android:layout_height="fill_parent"android:background="#CC000000"android:orientation="vertical" ></LinearLayout></RelativeLayout>改变android:在的LinearLayout之间#00000000(完全透明)和#FF000000(完全不透明)的背景属性。

android设置背景图片

android设置背景图片
iv.setImageBitmap(bmp);
BitmapFactory.Options opt = new BitmapFactory.Options();
opt.inPreferredConfig = Bitmap.Config.RGB_565;
opt.inPurgeable = true;
第二种,在你要添加背景的activity的类文件中setContentView(yout.main);(默认)之后添加一句getWindow().setBackgroundDrawableResource(R.drawable.activity_bg);
//动态设置背景 Fra bibliotek BitmapFactory.Options opt = new BitmapFactory.Options();
opt.inPreferredConfig = Bitmap.Config.RGB_565;
opt.inPurgeable = true;
opt.inInputShareable = true;
InputStream is = context.getResources().openRawResource(myback);
TextView tv = (TextView)findViewById(R.id.TextView01);
TextPaint tp = tv.getPaint();
tp.setFakeBoldText(true); //字体加粗
Resources resources = getContext().getResources();
//缩放的比例,缩放是很难按准备的比例进行缩放的,其值表明缩放的倍数,SDK中建议其值是2的指数值,值越大会导致图片不清晰

Android之webview背景设置为透明无效

Android之webview背景设置为透明无效

Android之webview背景设置为透明无效
Adndroid 2.X的设置
webview是一个使用方便、功能强大的控件,但由于webview的背景颜色默认是白色,在一些场合下会显得很突兀(比如背景是黑色)。

此时就想到了要把webview的背景设置为透明,这样就可以与其背景融为一体。

在2.X的平台下,一般设置webview背景为透明的方法如下:
wvContent.setBackgroundColor(0);
Adndroid 4.0下背景透明失效
但当程序在4.0上使用时,发现居然这种设置方法无法,即使通过上面设置背景为0,照样显示出原来默认的白色背景。

通过网上查找,发现原来是由于硬件加速导致的,此时就想到了使用代码关闭当前webview的硬件加速,方法如下:
wvContent.setLayerType(YER_TYPE_SOFTWARE,null);
这时发现又有新问题,如果要通过该代码进行设置,SDK最低版本也要11(android 3.0)无法正常编译。

柳暗花明
不给在代码里设置,咱可以在布局文件中直接对webview进行设置啊,方法如下:
android:layerType="software"
通过测试,在4.0和2.2都能正常运行,webview透明背景设置成功。

Android实现图片毛玻璃背景效果

Android实现图片毛玻璃背景效果

Android实现图⽚⽑玻璃背景效果本⽂实例为⼤家分享了Android实现⽑玻璃背景效果的具体代码,供⼤家参考,具体内容如下import android.content.Context;import android.graphics.Bitmap;/*** Created by abel.zhang on 2016/8/9.* 图⽚的⽑玻璃效果*/public class GsdFastBlur {/**** @param context* @param sentBitmap* @param radius 12 模糊程度* @return*/public static Bitmap fastblur(Context context, Bitmap sentBitmap, int radius) {if (sentBitmap==null){return null;}Bitmap bitmap =null;try {bitmap = sentBitmap.copy(sentBitmap.getConfig(), true);}catch (Exception e){e.printStackTrace();return null;}if (radius < 1) {return (null);}int w = bitmap.getWidth();int h = bitmap.getHeight();int[] pix = new int[w * h];// Log.e("pix", w + " " + h + " " + pix.length);bitmap.getPixels(pix, 0, w, 0, 0, w, h);int wm = w - 1;int hm = h - 1;int wh = w * h;int div = radius + radius + 1;int r[] = new int[wh];int g[] = new int[wh];int b[] = new int[wh];int rsum, gsum, bsum, x, y, i, p, yp, yi, yw;int vmin[] = new int[Math.max(w, h)];int divsum = (div + 1) >> 1;divsum *= divsum;int temp = 256 * divsum;int dv[] = new int[temp];for (i = 0; i < temp; i++) {dv[i] = (i / divsum);}yw = yi = 0;int[][] stack = new int[div][3];int stackpointer;int stackstart;int[] sir;int rbs;int r1 = radius + 1;int routsum, goutsum, boutsum;int rinsum, ginsum, binsum;for (y = 0; y < h; y++) {rinsum = ginsum = binsum = routsum = goutsum = boutsum = rsum = gsum = bsum = 0; for (i = -radius; i <= radius; i++) {p = pix[yi + Math.min(wm, Math.max(i, 0))];sir = stack[i + radius];sir[0] = (p & 0xff0000) >> 16;sir[1] = (p & 0x00ff00) >> 8;sir[2] = (p & 0x0000ff);rbs = r1 - Math.abs(i);rsum += sir[0] * rbs;gsum += sir[1] * rbs;bsum += sir[2] * rbs;if (i > 0) {rinsum += sir[0];ginsum += sir[1];binsum += sir[2];} else {routsum += sir[0];goutsum += sir[1];boutsum += sir[2];}}stackpointer = radius;for (x = 0; x < w; x++) {r[yi] = dv[rsum];g[yi] = dv[gsum];b[yi] = dv[bsum];rsum -= routsum;gsum -= goutsum;bsum -= boutsum;stackstart = stackpointer - radius + div;sir = stack[stackstart % div];routsum -= sir[0];goutsum -= sir[1];boutsum -= sir[2];if (y == 0) {vmin[x] = Math.min(x + radius + 1, wm);}p = pix[yw + vmin[x]];sir[0] = (p & 0xff0000) >> 16;sir[1] = (p & 0x00ff00) >> 8;sir[2] = (p & 0x0000ff);rinsum += sir[0];ginsum += sir[1];binsum += sir[2];rsum += rinsum;gsum += ginsum;bsum += binsum;stackpointer = (stackpointer + 1) % div;sir = stack[(stackpointer) % div];routsum += sir[0];goutsum += sir[1];boutsum += sir[2];rinsum -= sir[0];ginsum -= sir[1];binsum -= sir[2];yi++;}yw += w;}for (x = 0; x < w; x++) {rinsum = ginsum = binsum = routsum = goutsum = boutsum = rsum = gsum = bsum = 0; yp = -radius * w;for (i = -radius; i <= radius; i++) {yi = Math.max(0, yp) + x;sir = stack[i + radius];sir[0] = r[yi];sir[1] = g[yi];sir[2] = b[yi];rbs = r1 - Math.abs(i);rsum += r[yi] * rbs;gsum += g[yi] * rbs;bsum += b[yi] * rbs;if (i > 0) {rinsum += sir[0];ginsum += sir[1];binsum += sir[2];} else {routsum += sir[0];goutsum += sir[1];boutsum += sir[2];}if (i < hm) {yp += w;}}yi = x;stackpointer = radius;for (y = 0; y < h; y++) {// Preserve alpha channel: ( 0xff000000 & pix[yi] )pix[yi] = (0xff000000 & pix[yi]) | (dv[rsum] << 16) | (dv[gsum] << 8) | dv[bsum]; rsum -= routsum;gsum -= goutsum;bsum -= boutsum;stackstart = stackpointer - radius + div;sir = stack[stackstart % div];routsum -= sir[0];goutsum -= sir[1];boutsum -= sir[2];if (x == 0) {vmin[y] = Math.min(y + r1, hm) * w;}p = x + vmin[y];sir[0] = r[p];sir[1] = g[p];sir[2] = b[p];rinsum += sir[0];ginsum += sir[1];binsum += sir[2];rsum += rinsum;gsum += ginsum;bsum += binsum;stackpointer = (stackpointer + 1) % div;sir = stack[stackpointer];routsum += sir[0];goutsum += sir[1];boutsum += sir[2];rinsum -= sir[0];ginsum -= sir[1];binsum -= sir[2];yi += w;}}// Log.e("pix", w + " " + h + " " + pix.length);bitmap.setPixels(pix, 0, w, 0, 0, w, h);return (bitmap);}}效果图:以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

AndroidTextView设置背景色与边框的方法详解

AndroidTextView设置背景色与边框的方法详解

AndroidTextView设置背景色与边框的方法详解Android TextView设置背景色与边框的方法详解作者:字体:[增加减小] 类型:转载时间:2013-06-14 我要评论本篇文章是对Android中TextView设置背景色与边框的方法进行了详细的分析介绍,需要的朋友参考下1.在drawable文件夹下面创建setbar_bg.xml复制代码代码如下:<?xml version="1.0" encoding="utf-8"?><shapexmlns:android="/apk/res/android" ><!-- 背景色 --><solid android:color="#FFE4B5"/><!-- 边框色 --><stroke android:width="0.5dip" android:color="#81CE47" /> </shape>2.设置TextView顺序复制代码代码如下:android:background="@drawable/setbar_bg"您可能感兴趣的文章:•••问题的解决方法•••••••相关文章••应用的方法•2016-09-09Andorid 日历控件库,可左右滑动,显示公历,农办法•2013-05-05深入理解Activity之间的数据传递最新评论。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

android:设置背景图片、背景颜色透明
2012-03-15 16:51:09|分类: android UI |标签: |字号大中小订阅
Button或者ImageButton的背景设为透明或者半透明
半透明<Button android:background="#e0000000" ... /> 透明<Button android:background="#00000000" ... />颜色和不透明度 (alpha) 值以十六进制表示法表示。

任何一种颜色的值范围都是 0 到 255(00 到 ff)。

对于alpha,00 表示完全透明,ff 表示完全不透明。

表达式顺序是“aabbggrr”,其中“aa=alpha”(00 到 ff);“bb=blue”(00 到 ff);“gg=green”(00 到 ff);“rr=red”(00 到 ff)。

例如,如果您希望对某叠加层应用不透明度为 50% 的蓝色,则应指定以下值:7fff0000 RGB
设置背景图片透明度:
View v = findViewById(R.id.content);//找到你要设透明背景的layout 的id
v.getBackground().setAlpha(100);//0~255透明度值
设置背景颜色透明度:
ImageView.setBackgroundColor(Color.TRANSPARENT);
android设置背景色为透明
方法一:只要在配置文件内activity属性配置内加上android:theme=@android:style/Theme.Translucent 就好了。

这样就调用了android的透明样式!
方法二:
先在res/values下建colors.xml文件,写入:
<?xmlversionxmlversion="1.0"encoding="UTF-8"?>
<resources>
<colornamecolorname="transparent">#9000</color>
</resources>
这个值设定了整个界面的透明度,为了看得见效果,现在设为透明度为56%(9/16)左右。

再在res/values/下建styles.xml,设置程序的风格
<?xml versionxmlversion="1.0"encoding="utf-8"?> <resources>
<stylenamestylename="Transparent">
<itemnameitemname="android:windowBackground">@color /transparent</item>
<itemnameitemname="android:windowIsTranslucent">tru e</item>
<itemnameitemname="android:windowAnimationStyle">@+ android:style/Animation.Translucent</item>
</style>
</resources>
最后一步,把这个styles.xml用在相应的Activity上。

即在AndroidManifest.xml中的任意<activity>标签中添加
android:theme="@style/transparent"
如果想设置所有的activity都使用这个风格,可以把这句
标签语句添加在<application>中。

最后运行程序,哈哈,是不是发现整个界面都被蒙上一层半透明了。

最后可以把背景色#9000换成#0000,运行程序后,就全透明了,看得见背景下的所有东西可以却都操作无效。

相关文档
最新文档