- 定义布局的手段有几种?
答:两种,XML中声明UI元素;运行时实例化布局元素; - android:text属性什么作用?目前我们知道哪些控件中有该属性?
答:在控件上显示文本 - 布局文件在哪个目录下存放?
答:app/res/layout - 如何将布局文件设置为某个activity的布局?
答:在mainactivity.java中,更改代码:
setContentView(R.layout.布局文件id);
-
我们自定义的控件的id在哪个文件中?引用系统资源同引用自定义资源的id有什么区别?
答:R.java;
引用:@android:id/name;
自定义:@+id/name; -
如何通过id来引用布局中的对象?为什么通过findViewById这个方法得到的对象要进行类型强转?
答:R.id.‘对应名称’;
findViewById获取到的view类型无法自动转换为所需类型; -
wrap_content、match_parent这两个值什么含义?
答:wrap_content:控件显示内容所需的适合空间大小;
match_parent:父控件相应属性的大小; -
view的坐标系是怎样的?
答: -
LinerLayout中的子元素是如何排列的?方向是怎么确定的?一行排不下,会不会折行?
答:通过orientation设置排列方式(默认水平);
自上而下,自左至右;
不会,(默认处理方式:叠加) -
如何设置子控件的宽度或者高度相同?原理是什么?
答:通过权重;? -
盒子模型是什么?
答: margin->border->padding->content; -
android:gravity同android:layout_gravity什么区别?
答:layout_gravity:是该布局对于layout空余空间的利用,权重最大为“1”,默认为“0”,(就是当parent控件的空间未被完全利用时,可以为layout控件的子控件设置layout_gravity属性,增加(减少)其本身的大小)
gravity:设置控件内容的对齐方式); -
RelativeLayout是什么?它中的子控件怎么确定位置?注意这些子控件的属性可取什么值?什么是基线?
答:相对布局;
通过父控件或者其他兄弟控件进行定位;
true/false;
-
TableLayout的父类是哪个?说明什么问题?
答:LinearLayout,其也可看作线性布局使用; -
TableLayout中有多少行是由什么确定的?列是由什么确定的?
答:TableRow;
包含最多子元素的TableRow; -
TableRow的宽度和高度分别是什么?它中的子控件呢?
答:宽:match_parent
高:wrap_content
子空间均为:wrap_content -
TableRow中的子控件在哪列怎么确定?如何跨列?
答:其由属性Layout_column指定;
使用属性Layout_span指定跨列数; -
GridLayout是什么布局?
答:网格布局; -
GridLayout中的orientation, rowCount 及 columnCount属性是什么含义?
答:orientation,:控件排列方式;
rowCount :网格行数;
columnCount:网格列数; -
如何确定GridLayout中子控件所在的网格?如何将子控件扩展到其他网格?
答:通过设置layout_column,layout_row;
设置layout_columnSpan,layout_rowSpan属性,确定该子控件占据多少列或多少行。 -
什么是帧布局?、
答:帧布局为每个加入其中的控件创建一个空白区域(称为一帧,每个控件占据一帧)。
采用帧布局设计界面时,只能在屏幕左上角显示一个控件,如果添加多个控件,这些控件会按照
顺序在屏幕的左上角重叠显示。 -
帧布局中的子控件按什么顺序显示?
答:定义控件的先后顺序; -
绝对布局中的子控件怎么确定位置?它的坐标系是什么?
答:通过(x,y)坐标设置控件位置; -
像素单位分几大类?每类中的都有哪些单位?
答:长度单位,in 英寸 (inch),pt 点 (Points),mm (毫米);
像素单位,px (Pixel),dp (Density-independent Pixels),sp (Scale-independent Pixels); -
sp同dp什么区别?px同dp什么关系,针对不同的分辨率的屏幕如何换算?
答:sp == dp;
px,对应屏幕上实际像素点 (160dpi的屏幕上,1dp = 1px) -
设置大小的时候为什么dp优于px,什么原理?
答:dp不会受屏幕大小影响, -
如何在MainActivity.java中设置activity的布局文件
答:setContentView(R.layout.‘布局名称‘); -
设计布局文件的Design和Text模式什么区别?
答:design:可视化界面;
text:代码编辑界面
(参考WPF中的xaml界面) -
layout_toEndOf同layout_toRightOf什么区别?另一对对应的属性是什么?什么区别?它们后面的值中的id前为什么有+?
答: layout_toEndOf/layout_toRightOf:分别指指定控件的末端和右端;
layout_toStartOf/layout_toLeftOf:分别指指定控件的始端和左端;
在R.java文件中添加新的ID; -
如何在工程中修改工程的最小版本?
答:修改bulid.gradle中的minSDKVersion后边的值; -
水平居中和垂直居中的属性是什么?
答:layout_centerVertical
layout_centerHorizontal
32.如何新建布局文件?布局文件的文件名有什么要求?
答:
文件名只能含有小写字母,数字,_; -
线性布局中子控件的对齐是哪个属性?可取什么值?
答:layout_gravity:left,right,center; -
线性布局的方向由哪个属性决定?可取什么值?默认值是什么?
答: orientation :horizontal(默认)/vertical -
控件的id可以相同吗?
答:不可以, -
线性布局能嵌套使用吗?怎么用?
答:能; -
表格布局中的表行由哪个标签确定?
答:TableRow; -
TableRow的宽度和高度属性是什么?默认值是什么?
答:layout_width(match_parent);layout_height(warp_content); -
stretchColumns,shrinkColumns属性什么意思?
答:stretchColumns:当本列的定义总长度不足屏幕宽度时,指定列拉伸以充满屏幕
shrinkColumns:当本列的定义总长度超出屏幕宽度时,指定列缩减跨度以适应屏幕 -
View是什么?ViewGroup是什么?他们之间什么关系?
View 是用于创建用户交互组件的小部件的基类 (基本单元),是一块矩形区域
ViewGroup 对象是一种不可见的容器,可容纳其他 View 控件
ViewGroup 继承自 View -
什么是代码的格式化的快捷键是什么?
答:快捷键:CTRL+ALT+F; -
布局文件中哪里找到?布局文件中的标签是怎样的结构?
答:res/layout文件;
须符合xml语法结构要求; -
在布局文件中的标签属性中的“android:”是什么?
答:xmlns:android=“http://schemas.android.com/apk/res/android”(命名空间的引用) -
线性布局是什么意思?它的标签名是什么?
答:布局中的控件线性排列(根据orientation的取值不同,确定排列方向);
LinearLayout; -
android:orientation这个属性是什么意思?它可取哪些值?
答:设置线性布局中控件排列方向;
水平,垂直; -
android:layout_width 和 android:layout_height这两个属性是什么意思?它可取什么值?值的含义是什么?
答:view控件的宽(高)度;
warp_content;
match_parent;
确切数值; -
TextView这个标签是什么?
答:可编辑文字;不可更改; -
EditText这个标签是什么?它同TextView什么区别?它的android:hint属性是什么意思?
答:可编辑文本框;
;
当内容为空时;显示的提示字符; -
所有的标签都可以有android:id这个属性,该属性是什么含义,一般如何定义它的值?id的值在哪个java文件中定义的?
答:控件的唯一标识符;
根据控件的特征(内容,控件类型…);
R.java; -
string.xml文件是什么文件?它的文件结构是什么样的?什么是键值对?
答:字符串文件;
参考样式文件;
每个字符串(value)都有唯一的键值(key); -
android:weight属性什么作用?如何让EditText充满一行中的剩余空间?
答:设置权重
设置其属性:weight = 1; -
R.java这个文件里都有什么?这个文件能手工修改吗?
答:项目中所有资源以及其id值;
不能手动修改; -
什么是样式?主题是什么?同样式什么联系?
答:样式:设置布局文件的背景外观等,
主题:整个应用的样式;
联系:主体应用与所有控件,样式应用与指定的某个view控件; -
样式文件存放在哪里?结构是怎样的?怎么在布局文件中引用样式?
答:styles.xml文件;
<resources>
<!-- Base application theme. -->
<style name="StylesName" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
</resources>
引用:将控件的style值设置为“@styles/stylesname”;
eg:
<TextView style="@styles/stylename"/>
- 样式的继承是什么?如何继承系统样式?如何继承自定义样式?如果某个样式应4. 用到某个view的时候,而这个样式中有View不能支持的属性,会怎么样?
答:继承:调用项目中已有的样式定义;
为style标签设置parent ,其值等于项目中已经存在的样式名称;
自动忽略标签不支持的属性; - 怎么设置样式?如果将样式设置到ViewGroup时,该group中的view会使用该样式吗?
答:将标签的style属性值设置为已定义的样式名称;
不会; - manifest文件起什么作用?
答:清单文件,管理应用在移动设备上的权限; - 如何设置主题?如何微调已有主题?
答:在清单文件中将application的theme属性值设置为“@styles/stylesname”;
eg:
<style name="apptheme" parent="’需要微调的主题名称‘"/>
- 如何基于不同的平台由系统自动选择不同的主题?
答:在Resources文件夹下创建一个values-v21子文件夹,然后在该子文件夹下下创建一个styles.xml文件,编辑内容:
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<style name="MyTheme" parent="android:Theme.Material.Light.DarkActionBar">
</style>
……
</resources>
//name值与原有styles文件夹中定义的style name属性值相同;
-
为什么要提供对不同语言的支持?
答: -
怎么创建区域目录?怎么创建不同语言的表现?
答: -
屏幕大小的分类有哪些?
答:small,normal,large,xlarge; -
密度的分类有哪些?
答:Idpi,mdpi,hdpi,xhdpi,xxhdpi,xxxhdpi; -
屏幕的方向有哪些?
答:landscape(横向),portrait(纵向); -
为什么需要根据屏幕不同来定义不同的布局文件?不同大小屏幕的布局文件怎么存放?
答:优化用户体验;
· 存放在同一目录下,文件名相同,主要属性值相同; -
为什么需要根据屏幕密度提供不同的bitmap资源?
答:优化用户体验(提高图片质量)(该类问题统一可答); -
不同密度的比例是什么?
答: -
根据按钮上显示的内容,按钮可以分为几种?分别用什么属性设置?
答:三种;
文字(text)
图片(src);
文字+图片(text设置文本,drawable_____设置图片及图片与文字的相对位置); -
按钮的onClick属性有什么用?它的值所指定的响应方法在哪里定义,有什么特殊要求?法的参数是什么?
答:添加按钮点击事件(在button类型控件中添加onclick属性,并定义属性值);
Activity中定义响应事件,
要求:在Activity类中声明该按钮;
Button button;
onclick方法中实例化按钮;
Button button = (Button) findViewById(R.id."按钮id");
响应时间定义:
public void click(View view) { //click:button的onclick属性值;View类型参数;
button.setText("此按钮已被点击");
}
- 还可以怎么设置按钮的监听方法?代码模板是什么?望大家理解该模板
答:
Button button = (Button) findViewById(R.id.button_send);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Do something in response to button click
}
});
- 如何定义按钮的样式?
答: - 如何定义无边框按钮?
答:
<Button style="?android:attr/borderlessButtonStyle"/>
-
如何指定输入文本框的类型?如何组合输入模式?
答:设置属性android:inputType; -
标签属性的值是不是可以通过java代码进行修改?
答:yes; -
landscape和portrait什么区别?
答:. landscape:横向;
portrait:纵向; -
如何设置复选框的单击事件处理方法?若干复选框可以用同一个事件处理方法进行处理吗?如何在方法中区分选择的是哪个复选框?
答:onclick事件;
可;
使用view.getid属性; -
如何修改activity的布局?一个activity同时可以有几个布局?
答:修改onclick方法中的setContentView()的参数值; -
什么是无线按钮?在布局文件中是哪个标签?为什么要把这种标签放在RadioGroup中?RadioGroup是哪个布局的子类,这意味着什么?如何设置无线按钮的默认选择?
答:单选按钮;
RadioButton;
保证同组按钮在同一时刻只有一个可以被选中;
LinearLayout;
可以设置控件的orientation属性; -
如何设置无线按钮的单击事件处理方法?
答:onclick; -
什么是切换按钮?是哪些标签?
答:标签:ToggleButton,Switch -
定义某个RadioButton的android:checked为true,意味着该项是默认选中的,但如果并没有定义它的id,在运行时会发生什么情况?
答:RadioButton相互排斥; -
.控件的id是什么?
答:唯一标识; -
注释的快捷键是什么?
答:C太热了+ /; -
Toast是什么?它也是放在布局文件中吗?makeText方法的三个参数什么含义?
答:提示信息框;
不是;
分别是:app的content;
显示文本信息;
显示时长; -
什么是context?
答:上下文; -
如何定义toast的显示?
答:通过设置其属性:setGravity属性;确定其显示位置; -
layout_weight这个属性是什么含义?
答:其在父控件中的所占比例(宽); -
如何将EditText指定为输入密码类型的数据?.
答:修改属性:inputType值为:_____Password;