android开发问题,已经在layout文件下main.xml文件中进行了各个view组件的配置,如何
android开发问题,已经在layout文件下的main.xml文件中进行了各个view组件的配置,如何在activity程序中对它们进行控制啊,以及如何取得它们组件的...
android开发问题,已经在layout文件下的main.xml文件中进行了各个view组件的配置,如何在activity程序中对它们进行控制啊,以及如何取得它们组件的对象及方法,其中我也看了一些基本的组件在activity程序中使用它们的方法,比如一些基本的组件如:TextView、EditvText、button等等,就是我想通过activity程序控制已经在main.xml文件中定义好了的组件进行控制,就是如何在activity程序中动态的进行控制或者配置,以及控制那些组件的一些方法,说的有点乱,,希望谅解,还刚入门。希望知道的大哥大姐好好的帮我梳理一下这块的知识点,感激不尽!真心感谢!
展开
3个回答
展开全部
可以使用LayoutParams,LayoutParams相当于一个Layout的信息包,它封装了Layout的位置、高、宽等信息。假设在屏幕上一块区域是由一个Layout占领的,如果将一个View添加到一个Layout中,最好告诉Layout用户期望的布局方式,也就是将一个认可的layoutParams传递进去。
可以这样去形容LayoutParams,在象棋的棋盘上,每个棋子都占据一个位置,也就是每个棋子都有一个位置的信息,如这个棋子在4行4列,这里的“4行4列”就是棋子的LayoutParams。
但LayoutParams类也只是简单的描述了宽高,宽和高都可以设置成三种值:
1,一个确定的值;
2,FILL_PARENT,即填满(和父容器一样大小);
3,WRAP_CONTENT,即包裹住组件就好。
可以这样去形容LayoutParams,在象棋的棋盘上,每个棋子都占据一个位置,也就是每个棋子都有一个位置的信息,如这个棋子在4行4列,这里的“4行4列”就是棋子的LayoutParams。
但LayoutParams类也只是简单的描述了宽高,宽和高都可以设置成三种值:
1,一个确定的值;
2,FILL_PARENT,即填满(和父容器一样大小);
3,WRAP_CONTENT,即包裹住组件就好。
展开全部
比如说,你在布局文件中定义了一个id为pname_edittext的文本框,你在activity中这样去把它找出来,并且控制它:
可以在activity的onCreate方法中去这样做:
EditText pName_EditText = (EditText) findViewById(R.id.pname_edittext);
这里为什么要强制转型呢?因为findViewById返回值的View类型,EditText已经被它向上转型了,所以,在明确知道一个组件的真实类型,使用强制转型时安全的。
findViewById方法是Activity中的方法,当然,比如LinearLayout之类的组件也有这个方法。
至于你已经获取到组件了引用了。那么你只要掌握组件的方法属性,这些你得去学习。
那么按钮呢?获取按钮的引用也是用findViewById方法:
Button okBtn = (Button) findViewById(R.id.ok_button);
给按钮设置一个点击事件监听器呢?
1、先建立一个监听器:
OnClickListener mListener = new OnClickListener() {
public void onClick(View v) {
// 这里处理点击事件
}
};
2、绑定监听器到按钮:
okBtn.setOnClickListener(mListener);
那么,这样做,按钮的点击事件就会被mListener监听器所捕捉到,在它里面去处理就行了。
一般地,在一个Activity中,不会写很多点击事件监听器,而是尽可能让更多的组件一起共用一个监听器。平常,更多习惯将Activity实现OnClickListener接口,从而让Activity可以捕捉按钮的点击事件。其他类型的监听器也一样。都可以这么做。
public class MainActivity extends Activity implements OnClickListener {
public void onCreate(Bundle saveInstanceState) {
setContentView(R.layout.activity_main); // 如果你把这句去掉,后果不堪设想
// 看看现在怎么去监听按钮的点击事件
findViewById(R.id.ok_button).setOnClickListener(this); // 看这句。
}
public void onClick(View v) {
// Activity 已经实现了OnClickListener接口了哦,可以处理组件的点击事件了。
}
}
给你说就说这么多吧,也许你已经知道了的。
多做开发。纸上谈兵没有用。
可以在activity的onCreate方法中去这样做:
EditText pName_EditText = (EditText) findViewById(R.id.pname_edittext);
这里为什么要强制转型呢?因为findViewById返回值的View类型,EditText已经被它向上转型了,所以,在明确知道一个组件的真实类型,使用强制转型时安全的。
findViewById方法是Activity中的方法,当然,比如LinearLayout之类的组件也有这个方法。
至于你已经获取到组件了引用了。那么你只要掌握组件的方法属性,这些你得去学习。
那么按钮呢?获取按钮的引用也是用findViewById方法:
Button okBtn = (Button) findViewById(R.id.ok_button);
给按钮设置一个点击事件监听器呢?
1、先建立一个监听器:
OnClickListener mListener = new OnClickListener() {
public void onClick(View v) {
// 这里处理点击事件
}
};
2、绑定监听器到按钮:
okBtn.setOnClickListener(mListener);
那么,这样做,按钮的点击事件就会被mListener监听器所捕捉到,在它里面去处理就行了。
一般地,在一个Activity中,不会写很多点击事件监听器,而是尽可能让更多的组件一起共用一个监听器。平常,更多习惯将Activity实现OnClickListener接口,从而让Activity可以捕捉按钮的点击事件。其他类型的监听器也一样。都可以这么做。
public class MainActivity extends Activity implements OnClickListener {
public void onCreate(Bundle saveInstanceState) {
setContentView(R.layout.activity_main); // 如果你把这句去掉,后果不堪设想
// 看看现在怎么去监听按钮的点击事件
findViewById(R.id.ok_button).setOnClickListener(this); // 看这句。
}
public void onClick(View v) {
// Activity 已经实现了OnClickListener接口了哦,可以处理组件的点击事件了。
}
}
给你说就说这么多吧,也许你已经知道了的。
多做开发。纸上谈兵没有用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1楼回答的比较详细了
安卓的资源是通过R文件来管理的,你要找控件啊资源啊什么的都可以通过R文件来找
安卓的资源是通过R文件来管理的,你要找控件啊资源啊什么的都可以通过R文件来找
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询