本文目录
- Android如何在java代码中设置margin
- Android中,怎么通过代码设置layout背景
- android 点击列表,动态显示对应的内容
- linearlayout和relativelayout的区别
- Android中的可视化组件如Button组件、TextView组件、LinearLayout 、RelativeLayout之间有什么区别或关系
Android如何在java代码中设置margin
首先定义个LayoutParams,然后在设置margin,在把这个LayoutParams设置给控件,如下:LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);layoutParams.setMargins(10,10,10,10);//4个参数按顺序分别是左上右下mView.setLayoutParams(layoutParams);
Android中,怎么通过代码设置layout背景
Android中view 通过代码设置 layout首先确定要设置的layout是哪种layuot,这里以LinearLayout为例,首先步骤如下:1、首先在代码中创建一个LinearLayout.LayoutParams对象,然后设置其宽高代码如下:LinearLayout.LayoutParams ll = new LinearLayout.LayoutParams(20,30);2、然后设置margin、padding之类的属性,如下:3、最后设置给一个控件,如下:private TextView mTextView;mTextView = (TextView) findViewById(R.id.text);mTextView.setLayoutParams(ll);
android 点击列表,动态显示对应的内容
android点击列表,动态显示对应的内容,可以点击之后,跳转到详情页面进行显示,主要是用intent进行跳转,也可以携带数据bundle,key-value键值对来保存。代码如下:
public class HandlerDemo extends Activity implements OnScrollListener { private ListView mListView; LinearLayout loadingLayout; private Thread mThread; private ListViewAdapter adapter; private int startIndex = 1;// 从第1条开始 private int size = 10;// 每次下载十条数据 private List《News》 newsList; List《Map《String, String》》 data ; /* * 设置布局显示属性 */ private LayoutParams mLayoutParams = new LayoutParams( LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); private LayoutParams ffLayoutParams = new LayoutParams( LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.FILL_PARENT); private ProgressBar progressBar; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.news_main); data=new ArrayList《Map《String, String》》(); addView(); } private void addView() { if (startIndex == 1) { newsList = new ArrayList《News》(); newsList = getNewsList(); } getdata(newsList); LinearLayout layout = new LinearLayout(this); layout.setOrientation(LinearLayout.HORIZONTAL); progressBar = new ProgressBar(this); layout.addView(progressBar, mLayoutParams); TextView textView = new TextView(this); textView.setText(“加载中...“); textView.setGravity(Gravity.CENTER_VERTICAL); layout.addView(textView, ffLayoutParams); layout.setGravity(Gravity.CENTER); loadingLayout = new LinearLayout(this); loadingLayout.addView(layout, mLayoutParams); loadingLayout.setGravity(Gravity.CENTER); // 得到一个ListView用来显示条目 mListView = (ListView) findViewById(R.id.listView); mListView.addFooterView(loadingLayout); adapter = new ListViewAdapter(); mListView.setAdapter(adapter); mListView.setOnScrollListener(this); mListView.setTextFilterEnabled(true); } @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { // TODO Auto-generated method stub if (firstVisibleItem + visibleItemCount == totalItemCount) { if (mThread == null || !mThread.isAlive()) { mThread = new Thread() { @Override public void run() { newsList = new ArrayList《News》(); newsList = getNewsList(); getdata(newsList); Message msg = new Message(); msg.what = 1; handler.sendMessage(msg); } }; mThread.run(); } } } Handler handler = new Handler() { @Override public void handleMessage(Message msg) { // TODO Auto-generated method stub if (msg.what == 1) { startIndex = startIndex + size; Log.v(“startindex“, startIndex + ““); mListView.removeFooterView(loadingLayout); mThread.stop(); adapter.count += size; adapter.notifyDataSetChanged(); return; } } }; class ListViewAdapter extends BaseAdapter { int count = 10; @Override public int getCount() { // TODO Auto-generated method stub return count; } @Override public Object getItem(int position) { // TODO Auto-generated method stub return position; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub convertView = LayoutInflater.from(getApplicationContext()).inflate( R.layout.news_item, null); TextView textView = (TextView) convertView .findViewById(R.id.textNewsTitle); textView.setText((data.get(position)).get(“title“)); return convertView; } } @Override public void onScrollStateChanged(AbsListView view, int scrollState) { // TODO Auto-generated method stub } private List《Map《String, String》》 getdata(List《News》 list) { if (list == null) return null; for (News news : list) { Map《String, String》 map = new HashMap《String, String》(); map.put(“title“, news.getTitle()); data.add(map); } return data; } /* * 获取网络数据 注:我是访问本机的一个新闻服务,使用asp.net技术来实现的 * 这个是项目是一个基于android的资讯播报软件 */ private List《News》 getNewsList() { String path = “http://10.0.2.2/getNewsList.aspx“; String xmlStr = “《?xml version=’1.0’ encoding=’utf-8’?》《source》《categoryIds》1,3,7《/categoryIds》《startIndex》“ + startIndex + “《/startIndex》《detail》2《/detail》《count》“ + size + “《/count》《/source》“; NewsConnector newsConnector = new NewsConnector(); List《News》 list = new ArrayList《News》(); list = newsConnector.getNewsList(path, xmlStr); return list; }}
linearlayout和relativelayout的区别
LinearLayout是线性布局控件,它包含的子控件将以横向或竖向的方式排列,按照相对位置来排列所有的widgets或者其他的containers,超过边界时,某些控件将缺失或消失。因此一个垂直列表的每一行只会有一个widget或者是container,而不管他们有多宽,而一个水平列表将会只有一个行高(高度为最高子控件的高度加上边框高度)。LinearLayout保持其所包含的widget或者是container之间的间隔以及互相对齐(相对一个控件的右对齐、中间对齐或者左对齐)。RelativeLayout相对布局允许子元素指定它们相对于其父元素或兄弟元素的位置,这是实际布局中最常用的布局方式之一。它灵活性大很多,当然属性也多,操作难度也大,属性之间产生冲突的的可能性也大,使用相对布局时要多做些测试。
Android中的可视化组件如Button组件、TextView组件、LinearLayout 、RelativeLayout之间有什么区别或关系
Button组件、TextView组件、LinearLayout 、RelativeLayout都是Andorid中的可视化组件。Android中的组件实际上都对应着一个Java类。而这四个组件对应的Java类都是Android中一个叫做View类的子类。View类的子类有很多歌,但大体可以分为两种:1、布局容器2、可视化控件。 Button组件和TextView组件都属于可视化控件。他们都是view类的子类。在布局文件中以 XML元素呈现,在运行的时XML被解释为创建一个Java实例的请求添加到对应的activity中,而作为控件他们主要是在功能上存在差异。Button的作用是提供一个共用户点击的组件。而TextView的作用是用来展示文本信息。 LinearLayout 和RelativeLayout则属于布局容器。布局容器的主要作用是通过指定的方式来控制容器中控件的排布方式。布局容器内也可以嵌套布局容器。也就是说我们的可视化控件必须要放在布局容器中显示。布局容器中可以放可视化控件也可以放布局容器。但是可视化控件中就不能存在其他的控件或布局容器了。 下面我们来展示一个简单的XML布局代码:《?xml version=“1.0“ encoding=“utf-8“?》《RelativeLayout xmlns:android=“