安卓开发-基础知识补习4

听说点赞关注的人,身体健康,万事如意,工作顺利,爱情甜蜜,一夜暴富,升职加薪……最终迎娶白富美!!!


‼️微信公众号:炜煜工作室

🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱

📡 :安卓开发-基础知识补习4💯

📰内容简介:

本文通过…….介绍了……通过……实现了……使用java代码进行开发,如果有问题的地方请不吝指教,如果对文内内容有不理解的地方,也希望能积极主动的联系博主进行深刻的探讨,以便于让博主更深刻的记住这篇博文的内容,好让博主在发光发热的道路上越走越远。[手动狗头]🐶努力,奋斗!

📎 标签:安卓;java;Drawable;主题资源;样式资源;

🔍一、Drawable资源

  1. 直接使用图片或者使用xml文件。

  2. hdpi:高分辨率,mdpi:中等分辨率。

  3. 常用的图片资源,StateListDrawable资源。

  4. StateListDrawList资源:定义在xml文件中的Drawable对象。

    • 首先在res/drawable文件夹下新建xml文件(用来定义状态变化的的变化);

      <selector xmlns:android="http://schemas.android.com/apk/res/android">
          <item android:state_focused="true" android:color="@color/orange"></item>
          <item android:state_focused="false" android:color="@color/green"></item>
      </selector>
      
    • 然后在res/layout中进行引用

              <Button
                  android:id="@+id/btn1_drawable"
                  android:text="@string/drawable_name"
                  android:layout_width="wrap_content"
                  android:layout_height="100dp"
                  android:paddingLeft="10sp"
                  android:layout_margin="10dp"
                  android:textColor="@drawable/edittext_focused"></Button>
              <Button
                  android:id="@+id/btn2_cdc"
                  android:text="@string/cdc_name"
                  android:layout_width="wrap_content"
                  android:layout_height="100dp"
                  android:paddingLeft="10dp"
                  android:layout_margin="10dp"
                  android:textColor="@drawable/edittext_focused"></Button>
      
    • 引用的时候使用@drawable/+引用的文件名。

    • 使用场景,登录按钮判断是否输入密码,如果输入了登录按钮就起作用,未输入就不起作用。

mipmap和drawable设置图片的区别

  1. 对于mipmap文件夹,存储应用程序启动图标。
  2. 对于drawable文件夹,存储图像文件,9Patch,Shape,StateListDrawable文件。

🔍二、主题资源

设置页面的主体样式。

  1. 设置不显示Actionbar:NoActionBar;

  2. 自定义主题资源:

  3. 常见的主题资源

    android:theme="@android:style/Theme.Dialog"   将一个Activity显示为能话框模式  
    
    android:theme="@android:style/Theme.NoTitleBar"  不显示应用程序标题栏  
    
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen"  不显示应用程序标题栏,并全屏
    
    android:theme="Theme.Light"  背景为白色  
    
    android:theme="Theme.Light.NoTitleBar"  白色背景并无标题栏  
    
    android:theme="Theme.Light.NoTitleBar.Fullscreen"  白色背景,无标题栏,全屏
    
    android:theme="Theme.Black"  背景黑色  
    
    android:theme="Theme.Black.NoTitleBar"  黑色背景并无标题栏
    
    android:theme="Theme.Black.NoTitleBar.Fullscreen"    黑色背景,无标题栏,全屏
    
    android:theme="Theme.Wallpaper"  用系统桌面为应用程序背景  
    
    android:theme="Theme.Wallpaper.NoTitleBar"  用系统桌面为应用程序背景,且无标题栏  
    
    android:theme="Theme.Wallpaper.NoTitleBar.Fullscreen"  用系统桌面为应用程序背景,无标题栏,全屏  
    
    android:theme="Translucent"  半透明  
    
    android:theme="Theme.Translucent.NoTitleBar" 半透明、无标题栏  
    
    android:theme="Theme.Translucent.NoTitleBar.Fullscreen" 半透明、无标题栏、全屏  
    
    android:theme=”Theme.Panel” 半透明,无标题,全屏
    
    android:theme=”Theme.Light.Panel”平板风格显示
    

    常见的xml文件中item列表:

    <!-- 应用的主要色调,actionBar默认使用该颜色,Toolbar导航栏的底色 -->
        <item name="colorPrimary">@color/white</item>
        <!-- 应用的主要暗色调,statusBarColor 默认使用该颜色 -->
        <item name="colorPrimaryDark">@color/white</item>
        <!-- 一般控件的选中效果默认采用该颜色,如 CheckBox,RadioButton,SwitchCompat,ProcessBar等-->
        <item name="colorAccent">@color/colorAccent</item>
     
        <!-- 状态栏、顶部导航栏 相关-->
        <!-- status bar color -->
        <item name="android:statusBarColor">#00000000</item>
        <!-- activity 是否能在status bar 底部绘制 -->
        <item name="android:windowOverscan">true</item>
        <!-- 让status bar透明,相当于statusBarColor=transparent + windowOverscan=true -->
        <item name="android:windowTranslucentStatus">true</item>
        <!-- 改变status bar 文字颜色, true黑色, false白色,API23可用-->
        <item name="android:windowLightStatusBar">true</item>
        <!-- 全屏显示,隐藏状态栏、导航栏、底部导航栏 -->
        <item name="android:windowFullscreen">true</item>
        <!-- hide title bar -->
        <item name="windowNoTitle">true</item>
        <!-- 底部虚拟导航栏颜色 -->
        <item name="android:navigationBarColor">#E91E63</item>
        <!-- 让底部导航栏变半透明灰色,覆盖在Activity之上(默认false,activity会居于底部导航栏顶部),如果设为true,navigationBarColor 失效 -->
        <item name="android:windowTranslucentNavigation">true</item>
     
        <!-- WindowBackground,可以设置@drawable,颜色引用(@color),不能设置颜色值(#fffffff),
        Window区域说明:Window涵盖整个屏幕显示区域,包括StatusBar的区域。当windowOverscan=false时,window的区域比Activity多出StatusBar,当windowOverscan=true时,window区域与Activity相同-->
        <item name="android:windowBackground">@drawable/ic_launcher_background</item>
        <!--<item name="android:windowBackground">@color/light_purple</item>-->
     
        <!-- 控件相关 -->
        <!-- button 文字是否全部大写(系统默认开)-->
        <item name="android:textAllCaps">false</item>
     
        <!-- 默认 Button,TextView的文字颜色 -->
        <item name="android:textColor">#B0C4DE</item>
        <!-- 默认 EditView 输入框字体的颜色 -->
        <item name="android:editTextColor">#E6E6FA</item>
        <!-- RadioButton checkbox等控件的文字 -->
        <item name="android:textColorPrimaryDisableOnly">#1C71A9</item>
        <!-- 应用的主要文字颜色,actionBar的标题文字默认使用该颜色 -->
        <item name="android:textColorPrimary">#FFFFFF</item>
        <!-- 辅助的文字颜色,一般比textColorPrimary的颜色弱一点,用于一些弱化的表示 -->
        <item name="android:textColorSecondary">#C1C1C1</item>
        <!-- 控件选中时的颜色,默认使用colorAccent -->
        <item name="android:colorControlActivated">#FF7F50</item>
        <!-- 控件按压时的色调-->
        <item name="android:colorControlHighlight">#FF00FF</item>
        <!-- CheckBox,RadioButton,SwitchCompat等默认状态的颜色 -->
        <item name="android:colorControlNormal">#FFD700</item>
        <!-- 默认按钮的背景颜色 -->
        <item name="android:colorButtonNormal">#1C71A9</item>
     
        <!-- 【无效】 在theme中设置Activity的属性无效, 请到AndroidManifest中Activity标签下设置 -->
        <item name="android:launchMode">singleTop</item>
        <item name="android:screenOrientation">landscape</item>
    

    使用主要在AndroidManifast.xml文件中和java代码中使用。

    整个的app设置主题在标签中。

    <application
    	android:theme="@style/bgTheme"
    />
    

    java代码中

    setStyle(R.style.bgtheme);
    

    注意:在Activity的onCreate()方法中,设置使用的主题资源的时候,一定要在setContentView()方法之前设置,否则将不起作用。

🔍三、样式资源

样式资源:在styles.xml文件中创建。

<resources>
    <style name="title">
        <item name="android:textSize">30sp</item>
        <item name="android:textColor">#00f000</item>
    </style>
    <style name="context">
        <item name="android:textSize">10sp</item>
        <item name="android:textColor">#000000</item>
    </style>
</resources>

定义好styles.xml文件中的style标签的内容,然后在布局的代码中引用即可。

🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱🐱

📌内容总结:

🕥本文通过……介绍了……还有🐛没有写到本文内,后续内容可以继续追踪博主的后续文章,或许会介绍相关的内容,如果没介绍,请用力踢一脚,好让摸鱼的博主积极主动的去认识错误并及时改正,在发光发热的道路上越走越远……如果觉得本篇文章介绍的不错,也希望能得到您的一件三连,实不相瞒,三连确实有点费劲,我自己也很少给,或许你可以试试两连,这个还不错,我经常这样做。好了好了,这篇文章就扯到这里,再多怕被嫉妒,谢谢你这么认真的读完。如果有好看的运营小姐姐,也不要吝啬把微信推给我,万一您推荐了哪个真命女子,博主后大半辈子感谢你大半辈子。


表情网站:🎁 Emoji cheat sheet for GitHub, Basecamp, Slack & more (webfx.com)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NoSuchManException

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值