Android基本布局案例(2)

一、案例效果

Android基本布局案例(2)_第1张图片

二,实现流程

1.上部分标题搜索框
删除 android:padding*可删除边框

android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"

Android基本布局案例(2)_第2张图片
改变背景颜色

 android:background="#e21f1f"

拖拽图片控件直到出现红色边框
Android基本布局案例(2)_第3张图片
代码如下:

   
        

        

        

        

    

效果如图:
Android基本布局案例(2)_第4张图片
2.中间部分样式
相对布局代码

 

            

            

            

            

            

            
        

Android基本布局案例(2)_第5张图片
注:相对布局无法适应所有分辨率的手机
故采用线性布局
改字水平居中和垂直居中

Android基本布局案例(2)_第6张图片
一层代码如下:
Android基本布局案例(2)_第7张图片

                

                    
                        
                            
                            
                            
                        

                
                    
                

                

                
            

之后一层一层嵌套就可以 啦~~
3.下半部分样式
准备一个样式可被调用
Android基本布局案例(2)_第8张图片
代码如下:




    

    

    

    

java代码如下:

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.RatingBar;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class MainActivity extends AppCompatActivity {

    private ListView listView;
    private List> list = new ArrayList>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listView = (ListView) findViewById(R.id.listView);
        getList();
        listView.setAdapter(new Myadapter());


    }

    public void getList(){
        for(int i = 0;i<10;i++){
            Map map = new HashMap();
            map.put("name","张三"+i);
            map.put("phone","123"+i);
            list.add(map);
        }
    }

    class Myadapter extends BaseAdapter{

        @Override
        public int getCount() {
            return list.size();
        }

        @Override
        public Object getItem(int i) {
            return list.get(i);
        }

        @Override
        public long getItemId(int i) {
            return i;
        }

        @Override
        public View getView(int i, View view, ViewGroup viewGroup) {
            View myView;
            if(view == null){
                LayoutInflater layoutInflater = getLayoutInflater().from(MainActivity.this);
                myView = layoutInflater.inflate(R.layout.activity_base,null);
            }else{
                myView = view;
            }

            ImageView imageView = (ImageView) myView.findViewById(R.id.imageView);
            imageView.setImageResource(R.drawable.angrybirds);
            TextView textView = (TextView) myView.findViewById(R.id.textView);
            textView.setText(list.get(i).get("name"));
            TextView textView1 = (TextView) myView.findViewById(R.id.textView2);
            textView1.setText(list.get(i).get("phone"));
            RatingBar ratingBar = (RatingBar) myView.findViewById(R.id.ratingBar);
            ratingBar.setRating(4);

            return myView;
        }
    }
}

你可能感兴趣的:(Andiord)