【Android基础有关问题】

【Android基础问题】

1、appcompat_v7:

appcompat_v7包是一个能让2.1以上全使用上4.0版本的界面的支持库,建项目时直接把最小SDK选在Android4.0以上不就不需要这个支持库

 

2、 

inflate方法与findViewById的区别:

LayoutInflater作用是将layout的xml布局文件实例化为View类对象

对于一个没有被载入或者想要动态载入的界面,都需要使用LayoutInflater.inflate()来找 res/layout下的 xml 布局文件,并且实例化为View类对象;

 

findViewById() 是找具体 xml 布局文件中的具体 widget 控件(如:Button、TextView 等)。

 

获取LayoutInflater的方法有如下三种:

LayoutInflater inflater=(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.main, null);
 
LayoutInflater inflater = LayoutInflater.from(context); 
//该方法实质就是第一种方法
View layout = inflater.inflate(R.layout.main, null);
 
LayoutInflater inflater = getLayoutInflater();
//在Activity中可以使用,实际上是View子类下window的一个函数
View layout = inflater.inflate(R.layout.main, null);

 

3、SVN:

Android Studio SVN 使用方法

向SVN提交项目时显示提交成功却没有上传

android studio 重新关联svn

 

SVN文件颜色

绿色:已加入VCS,但未提交;

红色:未加入VCS;

白色:已提交;

蓝色:有修改;

土黄色:忽略的文件 

 

4、ADB:

命令行中使用ADB工具,需要配置D:Androidandroid-sdkplatform-tools路径到环境变量中

在系统变量中path变量后面添加

 

输入 adb shell,就会进入到设备的控制台

 

5、启动页面:

Android启动页面(闪屏页面)的实现

Android 实现闪屏页+功能引导页

你所不知道的Android启动页(欢迎界面去掉白屏)

<style name="StartTheme" parent="AppTheme">

<item name="android:windowBackground">@drawable/startpage</item>

</style>

<activity android:name=".StartActivity" android:theme="@style/StartTheme">

 

6、引用

strings.xml 中找到的 Hello world!字符串,我们有两种方式可以引用它:

1. 在代码中通过 R.string.hello_world 可以获得该字符串的引用;

2. 在 XML 中通过@string/hello_world 可以获得该字符串的引用

 

7、ScrollView与ListView区别:

首先,当ListView中有很多个item要显示,以致屏幕不能完全显示时,ListView自带滚动条,通过滑动就可以查看全部。但也可以将ListView嵌套在ScrollView中,同样可以达到相同的显示效果。但是,显示的相同,并不代表实际处理效果是一样的。ListView自带的滚动条对于”长数据“的处理方法是,只加载当前屏幕能显示的item,也就是说当前屏幕能显示几个item,就去加载几个item。一旦滑出屏幕就被销毁。当再次进入屏幕时,会重新加载这个position位置的item。而ScrollView却完全不同,ScrollView滚动视图是指当拥有很多内容,屏幕显示不完时,需要通过滚动跳来显示的视图。也可以把ScrollView看成一个无限长的屏幕,当ListView嵌套在ScrollView中时,会把所有的item都加载完,不论是否在当前屏幕中显示与否。也就是说当用ScrollView去嵌套一个ListView时,而同时ListView中又有很多的item,这时会很消耗系统资源。

 

ListView组件用于显示一个垂直的滚动列表,其中的元素之间结构近似而仅数据不同。

ListView更适于长列表数据,且元素个数可以增删。和ScrollView不同的是,ListView并不立即渲染所有元素,而是优先渲染屏幕上可见的元素。

ListView组件必须的两个属性是dataSource和renderRow。dataSource是列表的数据源,而renderRow则逐个解析数据源中的数据,然后返回一个设定好格式的组件来渲染。

ScrollView适合用来显示数量不多的滚动元素。放置在ScollView中的所有组件都会被渲染,哪怕有些组件因为内容太长被挤出了屏幕外。如果你需要显示较长的滚动列表,那么应该使用功能差不多但性能更好的ListView组件。

 

TableView,ListView都继承自ScrollView 

用法区别: 

少量数据使用ListView,ScrollView比较好,大量的数据插入及其访问,则用TableView好为什么? 

because: 

ListView,ScrollView每次都是加载的所有的item,所有数据量越大,卡顿越是明显 

而TableView则是加载的你所看到的几条item,所以即使在多的数据,则只有几条,

 

所以大量的数据加载,则使用TableView 

少量数据则使用ListView,ScrollView

 

8、ImageView.ScaleType:

CENTER /center  按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示

CENTER_CROP / centerCrop  按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽)

CENTER_INSIDE / centerInside  将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长/宽

FIT_CENTER / fitCenter  把图片按比例扩大/缩小到View的宽度,居中显示

FIT_END / fitEnd   把图片按比例扩大/缩小到View的宽度,显示在View的下部分位置

FIT_START / fitStart  把图片按比例扩大/缩小到View的宽度,显示在View的上部分位置

FIT_XY / fitXY  把图片不按比例扩大/缩小到View的大小显示

 

MATRIX / matrix 用矩阵来绘制,动态缩小放大图片来显示。

 

 

 

 

相关内容推荐