Android類似設定列表分類顯示
阿新 • • 發佈:2019-02-08
在設定介面有很多設定項,有時需要分類顯示,如下所示,如設定項過多,還會用到ScrollView,這是一個很通用的介面,只需要設定一些圖片和佈局就能達到這種效果,不用寫幾行程式碼,下面就做下記錄,方便自己或有需要的朋友使用。
佈局檔案 main_settings.xml
這裡用到的.9圖片較多,後面也會把原始碼上傳<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#eee" android:orientation="vertical" > <LinearLayout android:id="@+id/title" android:layout_width="match_parent" android:layout_height="45dp" android:background="@drawable/title_bar" android:gravity="center_horizontal|center_vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="設定" android:textColor="#ffffff" android:textSize="20sp" /> </LinearLayout> <ScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbarStyle="outsideOverlay" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > <TextView android:id="@+id/tv_info" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="14dp" android:background="@drawable/preference_first_item" android:clickable="true" android:drawableRight="@drawable/mm_submenu" android:paddingBottom="10dp" android:paddingLeft="20dp" android:paddingRight="20dp" android:paddingTop="10dp" android:text="個人資訊" android:textColor="#000" android:textSize="17sp" /> <TextView android:id="@+id/tv_card" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/preference_item" android:clickable="true" android:drawableRight="@drawable/mm_submenu" android:paddingBottom="10dp" android:paddingLeft="20dp" android:paddingRight="20dp" android:paddingTop="10dp" android:text="二維碼名片" android:textColor="#000" android:textSize="17sp" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/preference_item" android:clickable="true" android:drawableRight="@drawable/mm_submenu" android:paddingBottom="10dp" android:paddingLeft="20dp" android:paddingRight="20dp" android:paddingTop="10dp" android:text="騰訊微博" android:textColor="#000" android:textSize="17sp" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/preference_last_item" android:clickable="true" android:drawableRight="@drawable/mm_submenu" android:paddingBottom="10dp" android:paddingLeft="20dp" android:paddingRight="20dp" android:paddingTop="10dp" android:text="二維碼名片" android:textColor="#000" android:textSize="17sp" /> <!-- ******************************************************************** --> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="14dp" android:background="@drawable/preference_first_item" android:clickable="true" android:drawableRight="@drawable/mm_submenu" android:paddingBottom="10dp" android:paddingLeft="20dp" android:paddingRight="20dp" android:paddingTop="10dp" android:text="我的帳號" android:textColor="#000" android:textSize="17sp" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/preference_last_item" android:clickable="true" android:drawableRight="@drawable/mm_submenu" android:paddingBottom="10dp" android:paddingLeft="20dp" android:paddingRight="20dp" android:paddingTop="10dp" android:text="手機通訊錄匹配" android:textColor="#000" android:textSize="17sp" /> <!-- *********************************************************************** --> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="14dp" android:background="@drawable/preference_single_item" android:clickable="true" android:drawableRight="@drawable/mm_submenu" android:paddingBottom="10dp" android:paddingLeft="20dp" android:paddingRight="20dp" android:paddingTop="10dp" android:text="聊天背景" android:textColor="#000" android:textSize="17sp" /> <!-- *********************************************************************** --> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="14dp" android:background="@drawable/preference_first_item" android:clickable="true" android:drawableRight="@drawable/mm_submenu" android:paddingBottom="10dp" android:paddingLeft="20dp" android:paddingRight="20dp" android:paddingTop="10dp" android:text="通用" android:textColor="#000" android:textSize="17sp" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/preference_item" android:clickable="true" android:drawableRight="@drawable/mm_submenu" android:paddingBottom="10dp" android:paddingLeft="20dp" android:paddingRight="20dp" android:paddingTop="10dp" android:text="外掛" android:textColor="#000" android:textSize="17sp" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/preference_item" android:clickable="true" android:drawableRight="@drawable/mm_submenu" android:paddingBottom="10dp" android:paddingLeft="20dp" android:paddingRight="20dp" android:paddingTop="10dp" android:text="黑名單" android:textColor="#000" android:textSize="17sp" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/preference_item" android:clickable="true" android:drawableRight="@drawable/mm_submenu" android:paddingBottom="10dp" android:paddingLeft="20dp" android:paddingRight="20dp" android:paddingTop="10dp" android:text="隱私" android:textColor="#000" android:textSize="17sp" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/preference_item" android:clickable="true" android:drawableRight="@drawable/mm_submenu" android:paddingBottom="10dp" android:paddingLeft="20dp" android:paddingRight="20dp" android:paddingTop="10dp" android:text="系統通知" android:textColor="#000" android:textSize="17sp" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/preference_last_item" android:clickable="true" android:drawableRight="@drawable/mm_submenu" android:paddingBottom="10dp" android:paddingLeft="20dp" android:paddingRight="20dp" android:paddingTop="10dp" android:text="流量統計" android:textColor="#000" android:textSize="17sp" /> <!-- ******************************************************************** --> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="14dp" android:background="@drawable/preference_first_item" android:clickable="true" android:drawableRight="@drawable/mm_submenu" android:paddingBottom="10dp" android:paddingLeft="20dp" android:paddingRight="20dp" android:paddingTop="10dp" android:text="幫助與反饋" android:textColor="#000" android:textSize="17sp" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/preference_last_item" android:clickable="true" android:drawableRight="@drawable/mm_submenu" android:paddingBottom="10dp" android:paddingLeft="20dp" android:paddingRight="20dp" android:paddingTop="10dp" android:text="關於微信" android:textColor="#000" android:textSize="17sp" /> <!-- *********************************************************************** --> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="14dp" android:background="@drawable/preference_single_item" android:clickable="true" android:drawableRight="@drawable/mm_submenu" android:paddingBottom="10dp" android:paddingLeft="20dp" android:paddingRight="20dp" android:paddingTop="10dp" android:text="清空聊天記錄" android:textColor="#000" android:textSize="17sp" /> <!-- *********************************************************************** --> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="14dp" android:layout_marginLeft="12dp" android:layout_marginRight="12dp" android:layout_marginTop="14dp" android:background="@drawable/btn_style_red" android:gravity="center" android:onClick="exit_settings" android:padding="4dp" android:text="退出登入" android:textColor="#fff" android:textSize="18sp" /> </LinearLayout> </ScrollView> </LinearLayout>
在Activity中只需要設定佈局就可以了
下載路徑:http://pan.baidu.com/s/1i4pk0Bjpackage com.dzt.settinglist; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Toast; public class MainActivity extends Activity implements OnClickListener { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.main_settings); initWidgets(); } private void initWidgets() { findViewById(R.id.tv_info).setOnClickListener(this); findViewById(R.id.tv_card).setOnClickListener(this); } @Override public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.tv_info: Toast.makeText(this, "您點選了 個人資訊", Toast.LENGTH_LONG).show(); break; case R.id.tv_card: Toast.makeText(this, "您點選了 二維碼名片", Toast.LENGTH_LONG).show(); break; default: break; } } }