4-21#关于processbar 与 layer-list + dialog(全屏)

EditText中的属性hint

在这里插入图片描述

关于progressBar的使用

<ProgressBar
            android:id="@+id/contentBar"
            style="?android:attr/progressBarStyleHorizontal"
            android:layout_below="@id/Connecttv"
            android:layout_width="match_parent"
            android:layout_height="6dp"
            android:progressDrawable="@drawable/canset_progressbar"
            android:background="@color/item_select_n"
            android:progressTint="@color/item_select_d"
            android:progress="10"
            android:layout_marginTop="10dp"
            android:visibility="gone"
            />
 `布局文件-->可以layer-list可以实现渐变色,进度条圆角等等 其他关于layer-list在后面再笔记`

 <?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!--圆角和渐变色-->
    <item android:id="@android:id/background">
        <shape>
            <corners android:radius="5dp"/>
        </shape>
    <!--<color android:color="@color/item_select_n"/>-->
    </item>
    <!--圆角和渐变色-->
    <item android:id="@android:id/progress">
        <clip
            android:clipOrientation="horizontal"
            android:gravity="left">
          <!--  <color
                android:color="@color/item_select_d"
                />-->
            <shape>
                <corners android:radius="5dp"/>
            </shape>
        </clip>
        <shape>
            <corners android:radius="5dp"/>
        </shape>
    </item>
   <!-- //渐变色-->
    <!-- <item android:id="@android:id/progress">
        <clip
            android:clipOrientation="horizontal"
            android:gravity="left">
            <shape>
                <corners android:radius="5dp"/>
                <gradient
                    android:startColor="#00FF00"
                    android:centerColor="#FFFF00"
                    android:endColor="#FF0000"/>
            </shape>
        </clip>
    </item>-->
</layer-list>
 buttonset.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
               /* Intent intent = new Intent(mContext, CrashActivity.class);
                startActivity(intent);*/
                progressBar.setVisibility(View.VISIBLE);
                progressBar.setMax(100);

                    new Thread(new Runnable() {
                        @Override
                        public void run() {
                            Log.e("TAG", language + "");

                            while (true) {
                                language++;
                                progressBar.setProgress(language, true);
                                progressBar.setSecondaryProgress(language);
                                try {
                                    Thread.sleep(100);

                                } catch (InterruptedException e) {
                                    e.printStackTrace();
                                }
                                if(language>=progressBar.getMax()){
                                    Log.e("TAG"," progressBar.setIndeterminate(true);");
                                    progressBar.setIndeterminate(true);
                                    //progressBar.setIndeterminateDrawable()  定义完成后进度条的动画效果;
                                    break;
                                }
                            }
                        }
                    }).start();
                    //mHandler.sendEmptyMessageDelayed(6, 3000);


            }
        });

参考链接1

https://blog.csdn.net/lmq121210/article/details/81412525

android 图层列表–>layer-list

layer-list是图层列表,原理是列表中的每个可绘制对象均按照列表顺序绘制,列表中的最后一个可绘制对象绘于顶部,图层一层层的叠加,有点类似FrameLayout。在 layer-list 中可以通过控制后添加图层距离最底部图层的左、上、右、下的四个边距等属性,来得到不同的显示效果。
layer-list是用来创建 LayerDrawable 的,LayerDrawable 是drawable 的一种。

layer-list 与item是固定的,item内部可以存放很多标签
在这里插入图片描述

<shape>  Android:shape=["rectangle" | "oval" | "line" | "ring"]
其中 rectagle 矩形,oval 椭圆,line 水平直线,ring 环形

**<shape> 标签中 子节点的常用属性:**
<gradient> 渐变:
Android:startColor  
起始颜色
 
Android:endColor  
结束颜色             
 
Android:angle  
渐变角度,0从左到右,90表示从下到上,数值为45的整数倍,默认为0;
 
Android:type  
渐变的样式 liner线性渐变 radial环形渐变 sweep

<solid >  内部填充
Android:color  

<stroke >描边
Android:width 
描边的宽度
 
Android:color 
描边的颜色
 
Android:dashWidth
表示'-'横线的宽度
 
Android:dashGap 
表示'-'横线之间的距离

<corners >圆角
Android:radius  
圆角的半径 值越大角越圆
 
Android:topRightRadius  
右上圆角半径
 
Android:bottomLeftRadius 
右下圆角角半径
 
Android:topLeftRadius 
左上圆角半径
 
Android:bottomRightRadius 
左下圆角半径

<padding >边界填充
android:bottom="1.0dip" 
底部填充
 
android:left="1.0dip" 
左边填充
 
android:right="1.0dip" 
右边填充
 
android:top="0.0dip" 
上面填充

<selector >
根据不同的选定状态来定义不同的现实效果
> 分为四大属性:
> android:state_selected 是否选中
> android:state_focused 是否获得焦点
> android:state_pressed 是否按压
> android:state_enabled 是否设置是否响应事件,指所有事件 另: android:state_window_focused
> 默认时的背景图片 引用位置:res/drawable/文件的名称.xml

默认情况下,所有可绘制项都会缩放以适应包含视图的大小。因此,将图像放在图层列表中的不同位置可能会增大视图的大小,并且有些图像会相应地缩放。为避免缩放列表中的项目,请在 <item> 元素内使用 <bitmap> 元素指定可绘制对象,并且对某些不缩放的项目(例如 "center")定义重力

在这里插入图片描述

实用案例: 阴影

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <!--阴影层-->
    <item android:top="6dp"
        android:left="3dp">
        <shape android:shape="rectangle">
            <solid android:color="#b4b5b6"/>
            <corners android:radius="5dp"/>
        </shape>
    </item>
    <!--白色层控件的背景颜色  right 与bottom 偏移量-->
    <item android:right="3dp"
        android:bottom="6dp">
        <shape android:shape="rectangle">
            <solid android:color="#ffffff"/>
            <corners android:radius="5dp"/>
        </shape>
    </item>

</layer-list>

在这里插入图片描述

图片操作

三张图片 往左下角一点
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        <item>
            <bitmap android:src="@drawable/icn_1"
                android:gravity="center" />
        </item>
        <item android:top="10dp" android:left="10dp">
            <bitmap android:src="@drawable/icn_2"
                android:gravity="center" />
        </item>
        <item android:top="20dp" android:left="20dp">
            <bitmap android:src="@drawable/icn_3"
                android:gravity="center" />
        </item>
</layer-list>
旋转背景
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <rotate android:fromDegrees="-10" android:pivotX="50%" android:pivotY="50%">
            <shape>
                <solid
                    android:color="@android:color/holo_blue_dark"/>
                <size
                    android:width="300dp"
                    android:height="100dp"/>
                <corners
                    android:radius="10dp"/>
            </shape>
        </rotate>
    </item>
    <item>
        <rotate android:fromDegrees="10" android:pivotX="50%" android:pivotY="50%">
            <shape>
                <solid
                    android:color="@android:color/holo_green_dark"/>
                <size
                    android:width="300dp"
                    android:height="100dp"/>
                <corners
                    android:radius="10dp"/>
            </shape>
        </rotate>
    </item>
    <item>
        <rotate android:fromDegrees="30" android:pivotX="50%" android:pivotY="50%">
            <shape>
                <solid
                    android:color="@android:color/holo_orange_dark"/>
                <size
                    android:width="300dp"
                    android:height="100dp"/>
                <corners
                    android:radius="10dp"/>
            </shape>
        </rotate>
    </item>
</layer-list>

在这里插入图片描述

水平进度条渐变色

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@android:id/background">
        <shape android:shape="rectangle">
            <solid android:color="#f7f7f7"/>
            <corners
                android:radius="10dp"/>
        </shape>
    </item>
    <item android:id="@android:id/progress">
        <clip>
            <shape android:shape="rectangle">
                <gradient android:type="linear"
                    android:startColor="#fff3d432"
                    android:endColor="#ffe0761f"
                    android:angle="0" />
                <corners
                    android:radius="10dp"/>
            </shape>
        </clip>
    </item>
</layer-list>

启动页的适配 没试过 不知道啥效果

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/splash_bg_color"/>
    <!---图片要给图片bitmap设置gravity,否则会充满容器--->
    <item
        android:gravity="center"
        android:bottom="90dp">
        <bitmap android:src="@mipmap/splash_center_logo"/>
    </item>
    <item
        android:bottom="60dp"
        android:gravity="bottom|center">
        <bitmap
            android:antialias="true"
            android:gravity="center|bottom"
            android:src="@mipmap/splash_bottom_logo" />
    </item>
</layer-list>

在这里插入图片描述

感谢大佬的笔记:见下面 链接:https://www.jianshu.com/p/24d992cbab82 参考:简书 dlihasa
链接:https://my.oschina.net/u/937713/blog/168673 特色列表

自定义dialog样式和布局(以及全屏的一些参考)

style.xml

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    </style>

    <style name="AlertDialogStyle" parent="@android:style/Theme.Dialog">
        <item name="android:windowBackground">@android:color/transparent</item><!--背景透明-->
        <item name="android:windowContentOverlay">@null</item><!--阴影-->
        <item name="android:windowIsFloating">true</item><!--是否浮现在activity之上-->
        <item name="android:windowFrame">@null</item><!--边框-->
        <item name="android:backgroundDimEnabled">true</item><!--是否模糊-->
        <item name="android:windowNoTitle">true</item><!--无标题-->
        <item name="android:windowIsTranslucent">true</item><!--半透明-->
        <item name="android:windowFullscreen">true</item><!--全屏-->
    </style>
    <style name="AlertDialogStyle1">
        <item name="android:windowBackground">@android:color/transparent</item><!--背景透明-->
        <item name="android:windowIsFloating">true</item><!--是否浮现在activity之上-->
        <item name="android:windowIsTranslucent">true</item><!--半透明-->
        <item name="android:windowFullscreen">true</item><!--全屏-->
      <!--  <item name="android:windowAnimationStyle">@android:style/Animation.Translucent</item>-->
    </style>

</resources>

dialogbule.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"
    android:orientation="vertical"
    >

    <TextView
        android:textColor="#000000"
        android:textStyle="bold"
        android:gravity="center"
        android:text="加载中..."
        android:textSize="30sp"
        android:layout_width="match_parent"
        android:layout_height="50dp"/>
    <ProgressBar
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_marginTop="42dp"
        android:max="100"
        android:layout_width="410dp"
        android:layout_height="10dp"
        android:progress="30"
        android:progressDrawable="@drawable/barbgimg"
        />

</LinearLayout>

barbgmig.xml

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@mipmap/jdt1"/>
    <item  android:id="@android:id/background">
        <shape >
            <corners android:radius="5dp"
                />
            <stroke android:color="#ffffff"/>
        </shape>
    </item>
    <item android:id="@android:id/progress">
        <clip android:gravity="left">
            <shape>
                <corners
                    android:radius="5dp"/>
               <gradient android:type="linear"
                    android:startColor="#462F75C4"
                    android:centerColor="#A02F75C4"
                    android:endColor="#FF2F75C4"
                    android:angle="0" />
            </shape>
        </clip>
    </item>
</layer-list>


在这里插入图片描述

 public void showBlueDialog(){
        View layout = this.getLayoutInflater().inflate(R.layout.dialog_blue,null); //自定义布局
        //定义样式
        //AlertDialog.Builder builder = new AlertDialog.Builder(this,AlertDialog.THEME_DEVICE_DEFAULT_DARK);
        AlertDialog.Builder builder = new AlertDialog.Builder(this,R.style.AlertDialogStyle1);
         AlertDialog dialog = builder.create();
        //dialog.getWindow().setDimAmount(0f);//去掉罩子
        dialog.setView(layout);
        //透明
    /*    Window window = dialog.getWindow();
        WindowManager.LayoutParams lp = window.getAttributes();
        lp.alpha = 0.5f;
        window.setAttributes(lp);*/
        //全屏
       /*
        //全屏
        WindowManager m = getWindow().getWindowManager();
        Display d = m.getDefaultDisplay();
        WindowManager.LayoutParams p = getWindow().getAttributes();
        p.height = d.getHeight();
        p.width = d.getWidth();
        getWindow().setAttributes(p);
        */
        dialog.show();
    }

参考链接:https://blog.csdn.net/qq_21154101/article/details/101783841
参考链接: https://blog.csdn.net/wujiang_android/article/details/93605444?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-9.control&dist_request_id=1332031.6831.16190562645155267&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-9.control
参考链接: https://blog.csdn.net/guohaiyang1992/article/details/78518801?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_baidulandingword-8&spm=1001.2101.3001.4242
参考链接:(进度条)https://blog.csdn.net/weixin_33924312/article/details/85686219?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-2.control&dist_request_id=&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-2.control

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值