<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ### 1、TextView android:singleLine="true" ? //設置單行顯示(默認可折行顯示) android:gravity= "right|center_vertical" ? //設置文本的位置(居右且居中) ### 2、EditView android:hint="請輸入姓名" ? ? ?//設置陰影提示屬性 android:editable=“false” ? ? ? ? //設置不可編輯 另外,在ADT控件下的Text Fields中,有各種各樣的EditView(也就是指定了輸入格式,比如android:inputType="textPassword")。 ### 3、ImageView (1)屬性:android:src = "@drawable/ ??" ? ——ImageView控件的內容圖片; android:background = "@drawable/ ??" ? ——ImageView控件的背景圖片; android:background = "#f0f0f0" ? ——ImageView控件的背景的RGB顏色; (2)?.setBackgroundResource(R.drawable.XXX); ### 4、Button 和?ImageButton (1)Button有text屬性,而ImageButton沒有; (2)ImageButton有 src屬性,而Button沒有;(可以做一個有文本內容的圖片) (3)兩者都有background屬性; (4)兩者都有點擊效果;.setOnClickListenter() ? —— ?A.匿名內部類的實現(new View.OnClickListener(){ ?...onClick()... ? }; ); —— B.獨立類的實現*( 自定義 MyOnClicklistener 點擊事件監聽類,讓該類實現implements OnClickListener接口,重寫onClick方法);這種做法的好處是:如果有很多個按鈕,它們要執行一個共同的事件,還要執行自己特定的事件。 ~~~ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.button1).setOnClickListener(new MyOnClickListener(){ //自定義的監聽類 @Override public void onClick(View v) { // 調用父類的onClick事件 super.onClick(v); // 執行自己特定的任務 Toast.makeText(MainActivity.this, "這是子類的事件邏輯執行", 1).show(); } }); } //自定義監聽點擊事件的外部類 class MyOnClickListener implements OnClickListener{ @Override public void onClick(View v) { // 這是父類的onClick方法——公有的操作,減少代碼的冗余 Log.i("parent", "這是父類的事件邏輯執行"); v.setAlpha(0.5); //設置透明度 } } ........ } ~~~ —— ?C.還可以是 本類(this) 直接實現implements OnClickListener接口,重寫onClick方法。 ### 5、多個TextView實現跑馬燈——自定義個性化控件 (1)設置TextView屬性 ~~~ android:singleLine="true" android:ellipsize="marquee" android:focusable="true" android:focusableInTouchMode="true" ~~~ (2)實現繼承自TextView的自定義類 ~~~ public class Marquee extends TextView { public Marquee(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); // TODO Auto-generated constructor stub } public Marquee(Context context, AttributeSet attrs) { super(context, attrs); // TODO Auto-generated constructor stub } public Marquee(Context context) { super(context); // TODO Auto-generated constructor stub } @Override @ExportedProperty(category = "focus") public boolean isFocused() { // TODO Auto-generated method stub return true; //設置return true。不斷變換焦點 } } ~~~ (3)使用自定義控件——com.example.testlongtext.Marquee ~~~ <!-- 多個控件跑馬燈 --> <com.example.testlongtext.Marquee android:id="@+id/te1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" android:ellipsize="marquee" android:focusable="true" android:focusableInTouchMode="true" android:text="@string/hello_world" /> <com.example.testlongtext.Marquee android:id="@+id/te2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" android:ellipsize="marquee" android:focusable="true" android:focusableInTouchMode="true" android:text="@string/hello_world" /> ~~~ ### 6、AutoCompleteTextView? (1)屬性?android:hint = "請輸入關鍵字" android:completionThreshold = "2" ? ? ? ? ?//設置輸入多少字符時自動匹配 (2)數據源:匹配文本框輸入內容的數據源 ~~~ private String[] resourceData={"C","C++","C#","C-Object","java SE","java EE","java-android"}; //初始化數據源 ~~~ (3)適配器:適配下拉列表的內容(數據源) ~~~ private AutoCompleteTextView MyAutoCompleteTextView ; ArrayAdapter<String> adapter = new ArrayAdapter<String> (this,android.R.layout.simple_list_item_1,resourceData); //數據源填充到適配器 ~~~ (4)將適配器adapter 與 當前?AutoCompleteTextView 進行綁定 ~~~ MyAutoCompleteTextView .setAdapter(adapter); //綁定 ~~~ ### 7、MultiAutoCompleteTextView 基本類似上面,但是因為可以匹配多個字符串,所以可以設置分隔符(以提醒什么時候開始下一次匹配) ~~~ myMultiAutoCompleteTextView.setTokenizer( new MultiAutoCompleteTextView.CommaTokenizer()); //設置以逗號為分隔符 ~~~ ### 8、ToggleButton (1)屬性:android:checked="true" android:textOn="開啟" ? ? //設置開、關的文本 android:textOff="關閉" (2)監聽器:ToggleButton.setOnCheckedChangeListener(this); ### 9、CheckBox android:checked="false" ? ? ? ?//是否被選中 監聽器:.setOnCheckedChangeListener(listener); ? ? //監聽是否被選中 CheckBox.isChecked()——CheckBox.getText().toString() ### 10、RadioButton 和?RadioGroup(多選一機制) android:checked="false" ? ? ? ?//是否被選中 RadioGroup..setOnCheckedChangeListener(listener); ? ? //監聽是否被選中 ? (此時,如果是本類實現,implements OnCheckedChangeListener) ### 11、ListView顯示信息列表 (1)數據適配器(ArrayAdapter、SimpleAdapter); ?——把復雜數據(數組、列表、數據庫等)填充到指定視圖界面上;連接數據源和視圖界面的橋梁; 過程:新建適配器(聲明、配置)——>添加數據源到適配器——>視圖加載適配器; ArrayAdapter(上下文,當前ListView加載每一個列表項所對應的布局文件,數據源);——數組適配器 SimpleAdapter(上下文,數據源?List<? extends Map<String, ?>> data(一個Map所組成的List集合)、列表項布局文件ID、Map的鍵名、綁定數據視圖中的ID(與from成對應關系)); (2)監聽器(OnScrollListenter、OnItemClickListenter);? ? ? ? (3)適配器數據的刷新; notifyDataSetChanged(); ?——動態更新視圖中所包含的數據 ### 12、DatePicker 和 TimePicker 顯示當前日期和時間 ~~~ //獲取日歷的一個對象 calendar=Calendar.getInstance(); //獲取年月日時分的信息 year=calendar.get(Calendar.YEAR); month=calendar.get(Calendar.MONTH)+1; //注意:Calendar類的月份是按0開始計算的 day=calendar.get(Calendar.DAY_OF_MONTH); hour=calendar.get(Calendar.HOUR_OF_DAY); minute=calendar.get(Calendar.MINUTE); //datePicker初始化并設置監聽器(以init方法) datePicker.init(year, calendar.get(Calendar.MONTH), day, new OnDateChangedListener() { @Override public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) { // TODO Auto-generated method stub setTitle(year+"-"+(monthOfYear+1)+"-"+dayOfMonth); } }); //timePicker設置監聽器(直接設置) timePicker.setOnTimeChangedListener(new OnTimeChangedListener() { @Override public void onTimeChanged(TimePicker view, int hourOfDay, int minute) { // TODO Auto-generated method stub setTitle(hourOfDay+":"+minute); } }); //用對話框形式展示日期、時間 /*new DatePickerDialog(this, new OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { // TODO Auto-generated method stub setTitle(year+"-"+(monthOfYear+1)+"-"+dayOfMonth); } }, year, calendar.get(Calendar.MONTH), day).show();*/ new TimePickerDialog(this, new OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { // TODO Auto-generated method stub setTitle(hourOfDay+":"+minute); } }, hour, minute, true).show(); ~~~ ### 13、GridView表格形式顯示多個組件 ![](https://box.kancloud.cn/2016-04-06_5704cceabae66.jpg) 屬性: ~~~ android:numColumns="3" //每行顯示三列 android:horizontalSpacing="10dp" //設置列間距 android:verticalSpacing="10dp" //設置行間距 ~~~ 實現代碼: ~~~ public class MainActivity extends Activity implements OnItemClickListener{ private GridView gridView; private List<Map<String, Object>> dataList; private int[] icon = { R.drawable.a, R.drawable.b, R.drawable.c, R.drawable.d, R.drawable.e, R.drawable.f, R.drawable.erttre, R.drawable.erwrw, R.drawable.lanqiu, R.drawable.niubi, R.drawable.psb, R.drawable.qqq }; private String[] iconName = { "格1", "格2", "格3", "格4", "格5", "格6", "格7", "格8", "格9", "格10", "格11", "格12", }; private SimpleAdapter simpleAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); gridView = (GridView) findViewById(R.id.gridView); // 1、準備數據源 // 2、新建適配器 // 3、GridView加載適配器 // 4、GridView配置時間監聽器(OnItemClickListenter) dataList = new ArrayList<Map<String, Object>>(); //getData(); simpleAdapter = new SimpleAdapter(this, getData(), R.layout.gridview_item, new String[] { "image", "text" }, new int[] { R.id.image, R.id.text }); gridView.setAdapter(simpleAdapter); gridView.setOnItemClickListener(this); } private List<Map<String, Object>> getData() { // TODO Auto-generated method stub for (int i = 0; i < icon.length; i++) { Map<String, Object> map = new HashMap<String, Object>(); map.put("image", icon[i]); map.put("text", iconName[i]); dataList.add(map); } return dataList; } @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // TODO Auto-generated method stub Toast.makeText(this, "我是"+iconName[position], Toast.LENGTH_LONG).show(); } } ~~~ ### 14、Spinner實現下拉列表 ![](https://box.kancloud.cn/2016-04-06_5704cceacfd9f.jpg) ![](https://box.kancloud.cn/2016-04-06_5704cceaef917.jpg) (1)系統默認 ~~~ public class MainActivity extends Activity implements OnItemSelectedListener{ private TextView textView; private Spinner spinner; private List<String> list; private ArrayAdapter<String> arrayAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView=(TextView) findViewById(R.id.text); spinner=(Spinner) findViewById(R.id.spinner); textView.setText("您選擇城市是北京"); //1、設置數據源 list=new ArrayList<String>(); list.add("北京"); list.add("上海"); list.add("廣州"); list.add("深圳"); //2、新建ArrayAdapter(數組適配器) arrayAdapter=new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list); //3、arrayAdapter設置一個下拉列表樣式 arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); //4、spinner加載適配器 spinner.setAdapter(arrayAdapter); //5、設置spinner監聽器 spinner.setOnItemSelectedListener(this); } @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { // TODO Auto-generated method stub String cityName=arrayAdapter.getItem(position); //String cityName=list.get(position) textView.setText("您選擇的城市是"+cityName); } } ~~~ (2)自定義下拉樣式 利用SimpleAdapter。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看