編輯:關於Android編程
~別嫌它丑
在注釋中講重點吧。
(1)Spinner的布局: car_brand_spinner.xml
即為彈出來的下拉列表的布局啦,後面的那個布局就不拿出來丟人現眼了,反正知道有一個Spinner的id為carBrandSpinner就可以了。
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal"> <relativelayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="10dp"> <textview android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Text" android:id="@+id/car_brand_name" android:layout_gravity="left" android:layout_alignparentleft="true" android:layout_margintop="5dp" android:layout_marginbottom="5dp"> <imageview android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/car_brand_flag" android:layout_gravity="right" android:layout_alignparentright="true"> </imageview></textview></relativelayout> </linearlayout> </code>
(2)適配器
ArrayAdapter carBrandAdapter=new ArrayAdapter
(
AddCarActivity.this,
android.R.layout.simple_spinner_dropdown_item,
carBrandNameList//是String[],就是所有要顯示的brandName
){
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
convertView = View.inflate(AddCarActivity.this,R.layout.car_brand_spinner,null);//獲得Spinner布局View
if(convertView!=null)
{
TextView carBrandNameView = (TextView)convertView.findViewById(R.id.car_brand_name);
ImageView carBrandFlagView = (ImageView)convertView.findViewById(R.id.car_brand_flag);
try
{
JSONObject json = new JSONObject(carBrandList.get(position).get("carBrand").toString());
carBrandNameView.setText(json.getString("carBrandName"));//設置數據,我這裡的數據是從服務器讀出來的,所以前面有一個轉化取值的過程
}catch (Exception e){}
Bitmap bitmap =Common.String2Bitmap(carBrandList.get(position).get("carBrandFlagContent").toString());//這裡也一樣,圖片數據來自於服務器,同時有一個將數據從String轉Bitmap的過程
if(bitmap!=null)
carBrandFlagView.setImageBitmap(bitmap);//顯示圖片
}
return convertView;
}
};
//給Spinner set適配器
Spinner carBrandSpinner=(Spinner)findViewById(R.id.carBrandSpinner);
carBrandSpinner.setAdapter(carBrandAdapter);
carBrandSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
{
@Override//重寫Item被選擇的事件
public void onItemSelected(AdapterView parent, View view, int position, long id) {}
@Override
public void onNothingSelected(AdapterView parent) {}
});
到此結束!
Android Studio原生支持使用Gradle來構建項目,使用動態語言Groovy定義項目構建的過程,避免了build.xml文件繁瑣的定義。然而使用的時候,卻有著
Android Material Design:PopupMenuAndroid Material Design 引入的PopupMenu類似過去的上下文菜單,但是更靈活
Android的窗口體系中,WindowManager占有非常重要的地位,它封裝了添加、移除、更新窗口的方法,它是Activity、View的更加底層的管理類,使用Win
大家好,今天給大家詳解一下Android中Activity的生命周期,我在前面也曾經講過這方面的內容,但是像網上大多數文章一樣,基本都是翻譯Android API,過於籠