你所不知道的“那些年走过Android的坑”的大津绘。

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://xuhong.blog.csdn.net/article/details/52680947

踏上了工作不归路之后,我决定把工作中遇到的问题写在这,以便日后三省自己。





1. 在系统自带的 seerBar控件,自定义拖动的图标时候,发现图标没有和拖动条粘结在一起,如图的第一个seerBar的拖动,第二个seerBar才是我想要的效果。


这里写图片描述


解决方法:在其属性上加上 android:splitTrack=”false” 即可。 (记于2017.4.28)






2. 布局之LinearLayout属性baselineAligned的作用及baseline,注意这个属性只有在线性布局才有效哦!

这个属性的意思是 baselineAligned: 基准线对齐。
首先要解释什么是基准线,这个在中文中不常见,但在以字母为书写语言的其他国家非常常见。

这里写图片描述

参考:Android 布局学习之——LinearLayout属性baselineAligned的作用及baseline - 好库文摘 http://doc.okbase.net/JohnTsai/archive/110444.html






3.在Androidstudio添加libs文件夹作为库文件时候,记得在module下的 build.gladle 中添加

 repositories{
    flatDir {
        dirs 'libs'
            }
             }




4. 如果你的工程含有 jni文件夹,记得在moudle下的build.gladle添加以下代码:

sourceSets {
        main {
            jni.srcDirs = []
             } 
                 }





5. 如何把一张图片实现按钮按下时候呈现2张普通图片效果呢?

  • 比如下图点击第一个按钮时候,就显示第二种效果,如何只使用一张图片即可,大大减少了APK的大小?

这里写图片描述

  • 我们希望让这两张图片合二为一,而且还能实现两种或者多种状态,怎么做呢?我们首先建立一个圆形的selector,正常情况下是完全透明的,按下后透明度变小。我们创建一个normal_bg_selector.xml文件,如下:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_pressed="true">
        <shape android:shape="oval">
            <solid android:color="#21000000" />
        </shape>
    </item>

    <item>
        <shape android:shape="oval">
            <solid android:color="#00000000" />
        </shape>
    </item>
</selector>
  • 关键的一步来了!我们只需要问美工拿一张图片,比如下面第一张图片,之后我们在代码这样写:我们需要把selector文件当作遮罩,然后用上面的蓝色icon作为bg,放到一个ImageButton中,如下:

这里写图片描述

<ImageButton
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:src="@drawable/normal_bg_selector"
        android:background="@drawable/blue_btn_icon"
      />
  • 后记:上面的是针对的圆形的图片,那如果点击的是矩形图片呢?代码如下:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:state_pressed="true">
        <shape android:shape="rectangle">
            <solid android:color="#21000000" />
        </shape>
    </item>
  <item>
        <shape android:shape="rectangle">
            <solid android:color="#00000000" />
        </shape>
    </item>
</selector>





6.在fragment中发起的调用拍照及相册方法回调函数被mainactivity拦截,怎么解决?


在fragment中已经有startActivityForResult()方法,不需要 getActivity(). startActivityForResult(intent, requestCode);
因为如果用的是getActivity(). ,意味着启动是依附的Activity,而不是本身。


  • 重要事情说三遍

    • 在fragment中已经有startActivityForResult()方法,不需要 getActivity(). startActivityForResult(intent, requestCode);

    • 在fragment中已经有startActivityForResult()方法,不需要 getActivity(). startActivityForResult(intent, requestCode);

    • 在fragment中已经有startActivityForResult()方法,不需要 getActivity(). startActivityForResult(intent, requestCode);



请支持原文链接:http://blog.csdn.net/xh870189248/article/details/52680947
请支持原创博客:http://blog.csdn.net/xh870189248

展开阅读全文
博主设置当前文章不允许评论。

没有更多推荐了,返回首页