琐碎知识点

透明的dialog  在代码中这么设置



琐碎知识点_第1张图片

在上图中的dialog布局样式可自定义,在一段文字中给某部分文字加颜色可以使用html.formHtml(),使用HTML标签即可;

设置dialog的背景透明加dialog.getWindow().setBackGroundDrawable(new ColorDrawable())即可;


Android3.0以后的虚线不显示问题可以通过两种方法解决

解决方案有两种:1、在代码中解决:view.setLayerType(View.LAYER_TYPE_SOFTWARE, null);把这句加点相应的代码中;

2、在AndroidManifest.xml中解决,android:hardwareAccelerated="false" 加点相应的Activity处即可。


Android webview打开淘宝天猫等网站的问题,因为他们网站内部的js代码会打开本身app,例如 tmall://  tb://这种的 开头,webview是加载不出来的,需要我们重写shouldOverrideUrlLoading方法  在里面进行拦截处理才能正常打开。


3.关于tablayout关联viewpager之后tab标签不显示得问题

当使用addTab()方法给tablayout动态添加文字时可能会出现不显示标题文字的问题,而真实情况并不是不显示文字,而是ViewPager又给TabLayout加了许多空的标题,导致之前手动添加的标题被挤到后面,不信你多往后翻一翻是不是就出来了。那么这些空的标题是如何产生的呢,通过分析TabLayout源码很快就查出这个问题,其中有个方法的代码是这样的:


琐碎知识点_第2张图片


我们注意看这一行:

for(inti=0;i< adapterCount;i++){

addTab(newTab().setText(mPagerAdapter.getPageTitle(i)), false);

}


恍然大悟了吧,可以看到在TabLayout里面调用了PageAdapter的方法来添加标题,而添加标题的个数就是在PageAdapter的getCount()方法中设置的,标题的文字是在PageAdapter的getPageTitle()方法中设置。

到此,解决方法就出来了:不要为ViewPager手动使用addTab方法添加标题,而应先创建一个list,将其设置在PageAdapter的getPageTitle方法中,代码如下:

@Override

publicCharSequencegetPageTitle(intposition) {returnlist_title.get(position);    }


%s,%d,%c,%f这是JAVA中格式输出符了

所以,%1$s就是输出一个字符串的意思,如果需要输出第二个字符串则写%2$s,如此类推。

你可能感兴趣的:(琐碎知识点)