AutoCompleteListView,Spinner,Gallery,GridView,ExpandableListView(界面颜值逆天)

AutoCompleteListView

这里写图片描述

public class MainActivity extends AppCompatActivity {
 private AutoCompleteTextView autoCompleteTextView;
    private ArrayAdapter<String>arrayAdapter;
    private String[]mData={"layout_linear","layout_frame","layout_relative","layout_grid","view_text","view_img"};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        autoCompleteTextView= (AutoCompleteTextView) findViewById(R.id.autocompletetext);
        arrayAdapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,mData);

        autoCompleteTextView.setAdapter(arrayAdapter);
    }
}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

   <AutoCompleteTextView

       android:id="@+id/autocompletetext"
       android:layout_width="match_parent"
       android:layout_height="wrap_content" />

</RelativeLayout>

Spinner

这里写图片描述

public class MainActivity extends AppCompatActivity {
    private Spinner spinner;
    private ArrayAdapter<String> arrayAdapter;
    private String[] mData = {"layout_linear", "layout_frame", "layout_relative", "layout_grid", "view_text", "view_img"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        spinner = (Spinner) findViewById(R.id.spinner);
        arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, mData);
        spinner.setAdapter(arrayAdapter);
    }
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">


    <Spinner
        android:id="@+id/spinner"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"></Spinner>

</RelativeLayout>

GridView

这里写图片描述

GridView就是可以分几列的Listview,代码和ListView基本一样,只有布局改为GridView

这里写图片描述

ExpandableListView

这里写图片描述
(有点丑啊,待改进)

java源码
MainActivity
public class MainActivity extends AppCompatActivity {
    private ExpandableListView mExpandableListView;
    private List<Clazz> clazz;
    private LayoutInflater layoutInflater;
    private MyExpandableAdapter myExpandableAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mExpandableListView = (ExpandableListView) findViewById(R.id.expandablelistview);
        initData();

        layoutInflater=getLayoutInflater();
        myExpandableAdapter=new MyExpandableAdapter(layoutInflater,clazz);

        mExpandableListView.setAdapter(myExpandableAdapter);



    }

    private void initData() {
        clazz = new ArrayList<>();
        Clazz clazz1 = new Clazz("1班", "201501");
        List<Student> student1 = new ArrayList();
        student1.add(new Student("baby", "20", "女"));
        student1.add(new Student("Davi", "19", "男"));
        student1.add(new Student("Jack", "19", "男"));
        student1.add(new Student("Jodan", "22", "男"));
        clazz1.setStudent(student1);

        Clazz clazz2 = new Clazz("2班", "201502");
        List<Student> student2 = new ArrayList();
        student2.add(new Student("baby", "20", "女"));
        student2.add(new Student("Davi", "19", "男"));
        student2.add(new Student("Jack", "19", "男"));
        student2.add(new Student("Jodan", "22", "男"));
        clazz2.setStudent(student2);

        Clazz clazz3 = new Clazz("3班", "201503");
        List<Student> student3 = new ArrayList();
        student3.add(new Student("baby", "20", "女"));
        student3.add(new Student("Davi", "19", "男"));
        student3.add(new Student("Jack", "19", "男"));
        student3.add(new Student("Jodan", "22", "男"));
        clazz3.setStudent(student3);

        Clazz clazz4 = new Clazz("4班", "201504");
        List<Student> student4 = new ArrayList();
        student4.add(new Student("baby", "20", "女"));
        student4.add(new Student("Davi", "19", "男"));
        student4.add(new Student("Jack", "19", "男"));
        student4.add(new Student("Jodan", "22", "男"));
        clazz4.setStudent(student4);


        clazz.add(clazz1);
        clazz.add(clazz2);
        clazz.add(clazz3);
        clazz.add(clazz4);

    }
}
MyExpandableAdapter
public class MyExpandableAdapter extends BaseExpandableListAdapter {
   private LayoutInflater layoutInflater;
    private List<Clazz>mClazzs;

    public MyExpandableAdapter(LayoutInflater layoutInflater, List<Clazz> mClazzs) {
        this.layoutInflater = layoutInflater;
        this.mClazzs = mClazzs;
    }

    @Override
    public int getGroupCount() {
        return mClazzs.size();
    }

    @Override
    public int getChildrenCount(int groupPosition) {
        return mClazzs.get(groupPosition).getStudent().size();
    }

    @Override
    public Object getGroup(int groupPosition) {
        return groupPosition;
    }

    @Override
    public Object getChild(int groupPosition, int childPosition) {
        return mClazzs.get(groupPosition).getStudent();
    }

    @Override
    public long getGroupId(int groupPosition) {
        return groupPosition;
    }

    @Override
    public long getChildId(int groupPosition, int childPosition) {
        return childPosition;
    }

    @Override
    public boolean hasStableIds() {
        return false;
    }

    @Override
    public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
        convertView=layoutInflater.inflate(R.layout.item_clazz,null);
        TextView textViewClassname= (TextView) convertView.findViewById(R.id.textview_clazz);
        TextView  textViewClassNum= (TextView) convertView.findViewById(R.id.textview_clazz_num);
        TextView textViewClassStudent= (TextView) convertView.findViewById(R.id.textview_class_student);

         Clazz clazz=mClazzs.get(groupPosition);
        textViewClassname.setText(clazz.getClazzName());
        textViewClassNum.setText(clazz.getClazzNum());
        textViewClassStudent.setText(""+clazz.getStudent().size());
        return convertView;
    }

    @Override
    public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
        convertView=layoutInflater.inflate(R.layout.item_student,null);
        TextView textViewStudentsName= (TextView) convertView.findViewById(R.id.textview_student_name);
        TextView  textViewStudentsAge= (TextView) convertView.findViewById(R.id.textview_student_age);
        TextView textViewStudentSex= (TextView) convertView.findViewById(R.id.textview_student_sex);


       //错过
        Student student= mClazzs.get(groupPosition).getStudent().get(childPosition);

        textViewStudentsName.setText(student.getName());
        textViewStudentsAge.setText(student.getAge());
        textViewStudentSex.setText(student.getSex());

        return convertView;
    }

    @Override
    public boolean isChildSelectable(int groupPosition, int childPosition) {
        return false;
    }
}
Student
public class Student {
    private String name;
    private String age;
    private String sex;

    public Student(String name, String age, String sex) {
        this.name = name;
        this.age = age;
        this.sex = sex;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }


}
#
public class Clazz {
    private String clazzName;
    private String clazzNum;
    private List <Student>student;

    public Clazz(String clazzName, String clazzNum) {
        this.clazzName = clazzName;
        this.clazzNum = clazzNum;
    }

    public List<Student> getStudent() {
        return student;
    }

    public void setStudent(List<Student> student) {
        this.student = student;
    }

    public String getClazzName() {
        return clazzName;
    }

    public void setClazzName(String clazzName) {
        this.clazzName = clazzName;
    }

    public String getClazzNum() {
        return clazzNum;
    }

    public void setClazzNum(String clazzNum) {
        this.clazzNum = clazzNum;
    }
}
xml源码

这里写图片描述

两级界面外加expandablelistview

 <ExpandableListView
       android:id="@+id/expandablelistview"
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:childDivider="@color/black"
       android:groupIndicator="@mipmap/ic_launcher"
       android:childIndicator="@mipmap/baby"></ExpandableListView>
***************************************************
另两个比较简单不在给出
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值