LinearLayout部分塗色問題教學用
在主畫面做了基本的排版之後,最主要是讓每個星期都是一個直行的LinearLayout,重點是像禮拜一個這個
<LinearLayout
android:id="@+id/ll1"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:paddingLeft="3dp"
android:paddingRight="3dp"
android:orientation="vertical">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#000000"
android:padding="5dp"
android:textColor="#ffffff"
android:textSize="15sp"
android:gravity="center"
android:text="MON"
/>
最後呈現 然後再用彈跳視窗去做到新增的功能
接著針對彈跳視窗所輸入的資料以及選擇的日期去做區域性的色塊處理 首先先處理好Spinner所被選取的資料,並且宣告一個int chooseday去接position的數字
adapter= new ArrayAdapter<String>(context,android.R.layout.simple_spinner_item,Day);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
switch (position){
case 0:
chooseday=position;
break;
case 1:
chooseday=position;
break;
case 2:
chooseday=position;
break;
case 3:
chooseday=position;
break;
case 4:
chooseday=position;
break;
case 5:
chooseday=position;
break;
case 6:
chooseday=position;
break;
並且寫一個setClass的方法,去處理畫面的塗色
private void setClass(LinearLayout ll,String title,String start,String end,int classes,int color){
View view=LayoutInflater.from(this).inflate(R.layout.item,null);
view.setMinimumHeight(dip2px(this,classes * 48));
view.setBackgroundColor(colors[color]);
((TextView)view.findViewById(R.id.title)).setText(title);
((TextView)view.findViewById(R.id.place)).setText(start);
((TextView)view.findViewById(R.id.last)).setText(end);
TextView blank1 = new TextView(this);
TextView blank2 = new TextView(this);
blank1.setHeight(dip2px(this,classes));
blank2.setHeight(dip2px(this,classes));
ll.addView(blank1);
ll.addView(view);
ll.addView(blank2);
}
最後按下彈跳視窗裡的button之後,就可以完成LinearLayout的塗色
if(chooseday==1){
setClass(l1,et1.getText().toString(),et2.getText().toString(),et3.getText().toString(),2,3);
}else {
if(chooseday==2){
setClass(l2,et1.getText().toString(),et2.getText().toString(),et3.getText().toString() ,2,1);
就完成了