[关闭]
@Tyhj 2016-11-02T15:15:07.000000Z 字数 1791 阅读 855

小知识

Android


调整Dialog的大小

  1. Dialog di = new Dialog(context);
  2. di.setCancelable(true);
  3. LayoutInflater inflater = LayoutInflater.from(context);
  4. View layout = inflater.inflate(R.layout.item_set_friends, null);
  5. di.setContentView(layout);
  6. di.create();
  7. Window dialogWindow = di.getWindow();
  8. WindowManager m = ((Activity) context).getWindowManager();
  9. Display d = m.getDefaultDisplay(); // 获取屏幕宽、高用
  10. WindowManager.LayoutParams p = dialogWindow.getAttributes(); // 获取对话框当前的参数值
  11. p.width = (int) (d.getWidth() * 0.75); // 宽度设置为屏幕的0.65
  12. dialogWindow.setAttributes(p);
  13. di.show();

关于一些手机getData获取不到相机返回值的问题

  1. File file=new File(path,date);
  2. Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
  3. intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file));
  4. startActivityForResult(intent, TAKE_PHOTO);
  5. //获取返回值时候,直接获取文件
  6. File file=new File(path,date);

播放gif并设置大小

  1. //gif
  2. compile files('libs/GifView.jar')
  3. //java
  4. com.ant.liao.GifView gifView= (com.ant.liao.GifView) view.findViewById(R.id.gif);
  5. gifView.setGifImage(R.mipmap.gif1);
  6. gifView.setGifImageType(com.ant.liao.GifView.GifImageType.COVER);
  7. gifView.setShowDimension(900, 820);
  8. //xml
  9. <com.ant.liao.GifView
  10. android:id="@+id/gif"
  11. android:layout_width="match_parent"
  12. android:layout_height="match_parent" />

侧滑菜单

  1. //recycle 侧滑
  2. compile 'com.yanzhenjie:recyclerview-swipe:1.0.2'

可以根据RecycleView的每个item传入的值来设置不同的ViewType,然后根据ViewType来设置不同的布局,并且添加不同的侧滑菜单

侧滑菜单github地址

关于导入so包的问题

可以在 app/src/main 下面新建文件夹jniLibs文件夹,然后把文件放进去就好了,
也可以一起放在libs目录下,在app 的build.gradle的Android括号内加入

  1. sourceSets.main{
  2. //让AS识别libs下的.so第三方包
  3. jniLibs.srcDirs =['libs']
  4. }

方法是只保留一个包 armeabi,或者每一个包下面都要有相同的文件,
如果只保留了一个文件夹后出现找不到so文件的问题,那么在defaultConfig的括号内加入以下内容:

  1. ndk {
  2. // 加了其他的文件夹(比如 armeabi-v7a,x86等)可能会出问题
  3. abiFilters "armeabi"
  4. }

如果出现一大堆你都看不懂,也看不完的内容,也看不出来讲的是什么出错的,可以先到设置里面,在Build下的Instant Run下面把Enable Instant Run取消掉,然后再试一下。百度语音,地图什么的最容易出现这些问题了,真是累。
额,因为Sdk 23及以上获取权限和取消了一些包,所以可以把defaultConfig的括号内的 targetSdkVersion 改为22,试试。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注