第一步

value/strings.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <resources>
  3. <string name="hello">你选择了</string>
  4. <string name="app_name">高级控件</string>
  5. <string name="andy">Andy Rubin \nAndroid的创造者</string>
  6. <string name="bill">Bill Joy \nJava的创造者</string>
  7. <string name="edgar">Edgar F. Codd \n关系数据库之父</string>
  8. <string name="torvalds">Linus Torvalds \nLinux之父</string>
  9. <string name="turing">Turing Alan \nIT的祖师爷</string>
  10. <string name="ys">你选择了</string>
  11. </resources>

第二步

value/colors.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <resources>
  3. <color name="red">#fd8d8d</color>
  4. <color name="green">#9cfda3</color>
  5. <color name="blue">#8d9dfd</color>
  6. <color name="white">#FFFFFF</color>
  7. <color name="black">#000000</color>
  8. <color name="gray">#050505</color>
  9. </resources>

第三步

layout/list_view_layout.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout
  3. xmlns:android="http://schemas.android.com/apk/res/android"
  4. android:orientation="vertical"
  5. android:layout_width="wrap_content"
  6. android:layout_height="wrap_content">
  7. <TextView android:id="@+id/textview"
  8. android:layout_width="fill_parent"
  9. android:layout_height="wrap_content"
  10. android:textSize="24dip"
  11. android:textColor="@color/white"
  12. android:text="@string/hello" />
  13. <ListView android:id="@+id/listview"
  14. android:layout_width="fill_parent"
  15. android:layout_height="wrap_content"/>
  16. </LinearLayout>

第四步

ListViewActivity.java

  1. package com.taofu5;

  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.view.Gravity;
  5. import android.view.View;
  6. import android.view.ViewGroup;
  7. import android.view.View.OnClickListener;
  8. import android.widget.AdapterView;
  9. import android.widget.BaseAdapter;
  10. import android.widget.Gallery;
  11. import android.widget.ImageView;
  12. import android.widget.LinearLayout;
  13. import android.widget.ListView;
  14. import android.widget.TextView;
  15. import android.widget.AdapterView.OnItemClickListener;
  16. import android.widget.AdapterView.OnItemSelectedListener;

  17. public class ListViewActivity extends Activity {

  18. int[] msgIds = {R.string.andy,R.string.bill,
  19. R.string.edgar, R.string.torvalds,R.string.turing};
  20. int[] imgIds = {R.drawable.andy, R.drawable.bill,
  21. R.drawable.edgar, R.drawable.torvalds, R.drawable.turing};

  22. public void onCreate(Bundle savedInstanceState) {
  23. super.onCreate(savedInstanceState);
  24. setContentView(R.layout.list_view_layout);

  25. ListView listView = (ListView) this.findViewById(R.id.listview);
  26. BaseAdapter adapter = new BaseAdapter() {

  27. @Override
  28. public int getCount() {
  29. return imgIds.length;
  30. }

  31. @Override
  32. public Object getItem(int arg0) {
  33. return null;
  34. }

  35. @Override
  36. public long getItemId(int arg0) {
  37. return 0;
  38. }

  39. @Override
  40. public View getView(int num, View view, ViewGroup group) {
  41. LinearLayout ll = new LinearLayout(ListViewActivity.this);
  42. ll.setOrientation(LinearLayout.HORIZONTAL);
  43. ll.setPadding(5, 5, 5, 5);

  44. ImageView imageView = new ImageView(ListViewActivity.this);
  45. imageView.setImageDrawable(getResources().getDrawable(imgIds[num]));
  46. imageView.setScaleType(ImageView.ScaleType.FIT_XY);
  47. imageView.setLayoutParams(new Gallery.LayoutParams(100, 98));
  48. ll.addView(imageView);

  49. TextView textView = new TextView(ListViewActivity.this);
  50. textView.setText(getResources().getText(msgIds[num]));
  51. textView.setTextSize(24);
  52. textView.setTextColor(
  53. ListViewActivity.this.getResources().getColor(R.color.blue));
  54. textView.setPadding(5, 5, 5, 5);
  55. textView.setGravity(Gravity.LEFT);
  56. ll.addView(textView);

  57. return ll;
  58. }

  59. };

  60. listView.setAdapter(adapter);

  61. listView.setOnItemSelectedListener(new OnItemSelectedListener() {

  62. @Override
  63. public void onItemSelected(AdapterView<?> adapter, View view,
  64. int num, long lnum) {
  65. TextView textView = (TextView) findViewById(R.id.textview);
  66. LinearLayout layout = (LinearLayout) view;
  67. TextView subTextView = (TextView)layout.getChildAt(1);
  68. StringBuilder strBuilder = new StringBuilder();
  69. strBuilder.append(getResources().getText(R.string.ys));
  70. strBuilder.append(":" + subTextView.getText());
  71. String stemp = strBuilder.toString();
  72. textView.setText(stemp.split("\\n")[0]);
  73. }

  74. @Override
  75. public void onNothingSelected(AdapterView<?> arg0) {

  76. }

  77. });

  78. listView.setOnItemClickListener(new OnItemClickListener() {

  79. @Override
  80. public void onItemClick(AdapterView<?> adapter, View view, int num,
  81. long lnum) {
  82. TextView textView = (TextView) findViewById(R.id.textview);
  83. LinearLayout layout = (LinearLayout) view;
  84. TextView subTextView = (TextView)layout.getChildAt(1);
  85. StringBuilder strBuilder = new StringBuilder();
  86. strBuilder.append(getResources().getText(R.string.ys));
  87. strBuilder.append(":" + subTextView.getText());
  88. String stemp = strBuilder.toString();
  89. textView.setText(stemp.split("\\n")[0]);
  90. }

  91. });

  92. }
  93. }

第五步:

AndroidManifest.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3. package="com.taofu5"
  4. android:versionCode="1"
  5. android:versionName="1.0">
  6. <application android:icon="@drawable/icon" android:label="@string/app_name">
  7. <activity android:name=".ListViewActivity"
  8. android:label="@string/app_name">
  9. <intent-filter>
  10. <action android:name="android.intent.action.MAIN" />
  11. <category android:name="android.intent.category.LAUNCHER" />
  12. </intent-filter>
  13. </activity>

  14. </application>
  15. <uses-sdk android:minSdkVersion="7" />

  16. </manifest>
效果图 如下

更多相关文章

  1. android EditText里面嵌入两个按钮,通过按钮可以加减EditText里的
  2. android 主界面 底部菜单 DEMO
  3. 四则运算第一次冲刺
  4. BaseAdapter中使用固定好的xml文件无法自适应大小
  5. Textview 文本旋转,倾斜
  6. Android(安卓)Canvas设置绘画时重叠部分的处理模式【含效果图】
  7. 一种动态水平ProgressBar的实现
  8. 据说年薪30万的Android程序员必须知道的帖子
  9. Android给Gallery处于中间的图片加一个背景图片

随机推荐

  1. 报错You need to use a Theme.AppCompat
  2. android设置在ListView中让TextView滚动
  3. android 电容屏(一):电容屏基本原理篇
  4. 布局技巧和列表控件
  5. android sdk的快速安装法
  6. Android(安卓)RelativeLayout 属性
  7. android:gravity 和 android:layout_Grav
  8. Android(安卓)RelativeLayout 属性
  9. GridView相关
  10. Android使用AudioRecord遇到的问题与解决