网络资源模板--Android Studio 零食工坊(商城)
目录
一、项目演示
二、项目测试环境
三、项目详情
四、完整的项目源码
一、项目演示
网络资源模板--零食工坊
二、项目测试环境
三、项目详情
1. **加载 Fragment 布局**:
- 使用 `inflater.inflate` 加载 `fragment_snack` 的布局。
2. **视图组件初始化**:
- 初始化了多个 UI 组件,包括:
- `TabLayout` (`tabTitle`): 用于显示标签。
- `RecyclerView` (`rvsnackList`): 用于展示零食列表。
- 空状态布局 (`llEmpty`): 当列表为空时显示的视图。
- 查询输入框 (`etQuery`): 供用户输入搜索关键词。
- 搜索图标 (`ivSearch`): 触发搜索操作的图标。
- 添加零食的浮动按钮 (`btnAdd`): 用于添加新零食。
3. **设置搜索功能**:
- 为搜索图标设置点击事件,点击后调用 `loadData()` 方法以加载数据。
4. **键盘操作监听**:
- 设置查询输入框的编辑动作监听器:
- 当用户按下特定的键(actionId 为 3)时,隐藏键盘并调用 `loadData()` 方法。
5. **添加零食功能**:
- 为添加按钮设置点击事件,点击后启动 `AddSnackActivity`,并等待结果(请求码为 100)。
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {View view = inflater.inflate(R.layout.fragment_snack, container, false);this.tabTitle = (TabLayout) view.findViewById(R.id.tab_title);this.rvsnackList = (RecyclerView) view.findViewById(R.id.rv_snack_list);this.llEmpty = (LinearLayout) view.findViewById(R.id.ll_empty);this.etQuery = (EditText) view.findViewById(R.id.et_query);this.ivSearch = (ImageView) view.findViewById(R.id.iv_search);this.btnAdd = (FloatingActionButton) view.findViewById(R.id.btn_add);initView();this.ivSearch.setOnClickListener(new View.OnClickListener() {/* class com.example.snack.ui.fragment.SnackFragment.AnonymousClass1 */public void onClick(View v) {SnackFragment.this.loadData();}});this.etQuery.setOnEditorActionListener(new TextView.OnEditorActionListener() {/* class com.example.snack.ui.fragment.SnackFragment.AnonymousClass2 */public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {if (actionId != 3) {return false;}KeyBoardUtil.hideKeyboard(v);SnackFragment.this.loadData();return true;}});this.btnAdd.setOnClickListener(new View.OnClickListener() {/* class com.example.snack.ui.fragment.SnackFragment.AnonymousClass3 */public void onClick(View v) {SnackFragment.this.startActivityForResult(new Intent(SnackFragment.this.myActivity, AddSnackActivity.class), 100);}});return view;}
在 `onCreate` 方法中,主要实现了登录界面的初始化及逻辑处理,具体功能如下:
### 主要功能概述
1. **界面设置**:
- 设置 Activity 的布局为 `activity_login`。
2. **视图组件初始化**:
- 初始化了多个 UI 组件,包括:
- 账号输入框 (`etAccount`)
- 密码输入框 (`etPassword`)
- 注册文本 (`tvRegister`)
- 找回密码文本 (`tv_mm`)
- 登录按钮 (`btnLogin`)
- 用户类型选择的单选按钮组 (`rgType`)
- 用户和管理员的单选按钮 (`rbUser` 和 `rbAdmin`)
- 同意协议的复选框 (`cbAgree`)
3. **自定义 ActionBar**:
- 初始化 `ActionBar`,设置标题和点击事件,左侧点击事件为结束当前 Activity。
4. **点击事件处理**:
- 注册点击事件:
- 注册按钮:启动 `RegisterActivity`。
- 找回密码按钮:启动 `PasswordActivity`。
- 用户类型选择的单选按钮:保存选择的用户类型(普通用户或管理员)到 SharedPreferences。
5. **登录逻辑**:
- 登录按钮的点击事件处理:
- 隐藏软键盘。
- 获取输入的账号和密码。
- 校验输入是否为空,并提供相应提示。
- 检查用户是否存在,并验证密码是否正确。
- 根据用户类型(管理员或普通用户)进行进一步验证。
- 确认用户同意用户协议。
- 登录成功后,将账号存入 SharedPreferences,启动 `MainActivity` 并显示成功提示。
### 总结
此方法清晰地组织了登录界面的逻辑,包括视图组件的初始化、事件处理和登录验证。整体结构逻辑严谨,能够有效地引导用户完成登录操作。
@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);this.activity = this;setContentView(R.layout.activity_login);etAccount = findViewById(R.id.et_account);etPassword = findViewById(R.id.et_password);tvRegister = findViewById(R.id.tv_register);tv_mm = findViewById(R.id.tv_mm);btnLogin = findViewById(R.id.btn_login);rgType = findViewById(R.id.rg_type);rbUser = findViewById(R.id.rb_user);rbAdmin = findViewById(R.id.rb_admin);cbAgree = findViewById(R.id.cb_agree);ActionBar actionBar = findViewById(R.id.myActionBar);mTitleBar = actionBar;actionBar.setData(this.activity, "登录", 0, 0, 0, getResources().getColor(R.color.colorPrimary), new ActionBar.ActionBarClickListener() {@Overridepublic void onLeftClick() {LoginActivity.this.finish();}@Overridepublic void onRightClick() {}});tvRegister.setOnClickListener(v ->LoginActivity.this.startActivity(new Intent(LoginActivity.this.activity, RegisterActivity.class)));tv_mm.setOnClickListener(v ->LoginActivity.this.startActivity(new Intent(LoginActivity.this.activity, PasswordActivity.class)));rgType.setOnCheckedChangeListener((group, checkedId) ->SPUtils.put(LoginActivity.this.activity, SPUtils.IS_ADMIN, checkedId == R.id.rb_admin));btnLogin.setOnClickListener(v -> {((InputMethodManager) v.getContext().getSystemService("input_method")).hideSoftInputFromWindow(v.getWindowToken(), 0);String account = etAccount.getText().toString();String password = etPassword.getText().toString();Boolean isAdmin = (Boolean) SPUtils.get(LoginActivity.this.activity, SPUtils.IS_ADMIN, false);if (account.isEmpty()) {Toast.makeText(LoginActivity.this.activity, "账号不能为空!", Toast.LENGTH_SHORT).show();} else if (password.isEmpty()) {Toast.makeText(LoginActivity.this.activity, "密码为空!", Toast.LENGTH_SHORT).show();} else {User user = DataSupport.where("account = ?", account).findFirst(User.class);if (user == null) {Toast.makeText(LoginActivity.this.activity, "账号不存在", Toast.LENGTH_SHORT).show();} else if (!password.equals(user.getPassword())) {Toast.makeText(LoginActivity.this.activity, "密码错误!", Toast.LENGTH_SHORT).show();} else if (isAdmin && !"admin".equals(user.getAccount())) {Toast.makeText(LoginActivity.this.activity, "该账号不是管理员账号!", Toast.LENGTH_SHORT).show();} else if (!isAdmin && "admin".equals(user.getAccount())) {Toast.makeText(LoginActivity.this.activity, "该账号不是普通用户账号!", Toast.LENGTH_SHORT).show();} else if (!cbAgree.isChecked()) {Toast.makeText(LoginActivity.this.activity, "请同意用户协议!", Toast.LENGTH_SHORT).show();} else {SPUtils.put(LoginActivity.this, SPUtils.ACCOUNT, account);LoginActivity.this.startActivity(new Intent(LoginActivity.this.activity, MainActivity.class));Toast.makeText(LoginActivity.this.activity, "恭喜你,登录成功!", Toast.LENGTH_SHORT).show();LoginActivity.this.finish();}}});}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:background="#ffffffff"android:orientation="vertical"><ImageViewandroid:layout_width="fill_parent"android:layout_height="100.0dip"android:layout_gravity="center"android:layout_marginTop="0.0dip"android:layout_marginBottom="50.0dip"android:src="@drawable/logo" /><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="vertical"><LinearLayoutandroid:id="@+id/person"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginTop="10.0dip"android:background="@drawable/bg_ripple"android:orientation="horizontal"android:paddingLeft="20.0dip"android:paddingTop="10.0dip"android:paddingRight="20.0dip"android:paddingBottom="10.0dip"><ImageViewandroid:layout_width="25.0dip"android:layout_height="25.0dip"android:layout_gravity="center"android:src="@drawable/main_user_press" /><TextViewandroid:layout_width="0.0dip"android:layout_height="wrap_content"android:layout_gravity="center_vertical"android:layout_marginLeft="10.0dip"android:layout_weight="1.0"android:text="个人信息"android:textColor="@color/colorBlack"android:textSize="14.0dip" /><ImageViewandroid:layout_width="25.0dip"android:layout_height="25.0dip"android:layout_gravity="center"android:src="@drawable/ic_right" /></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="vertical"><LinearLayoutandroid:id="@+id/manage"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginTop="10.0dip"android:background="@drawable/bg_ripple"android:orientation="horizontal"android:paddingLeft="20.0dip"android:paddingTop="10.0dip"android:paddingRight="20.0dip"android:paddingBottom="10.0dip"><ImageViewandroid:layout_width="25.0dip"android:layout_height="25.0dip"android:layout_gravity="center"android:src="@drawable/manage" /><TextViewandroid:layout_width="0.0dip"android:layout_height="wrap_content"android:layout_gravity="center_vertical"android:layout_marginLeft="10.0dip"android:layout_weight="1.0"android:text="用户管理"android:textColor="@color/colorBlack"android:textSize="14.0dip" /><ImageViewandroid:layout_width="25.0dip"android:layout_height="25.0dip"android:layout_gravity="center"android:src="@drawable/ic_right" /></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="vertical"><LinearLayoutandroid:id="@+id/order"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginTop="10.0dip"android:background="@drawable/bg_ripple"android:orientation="horizontal"android:paddingLeft="20.0dip"android:paddingTop="10.0dip"android:paddingRight="20.0dip"android:paddingBottom="10.0dip"><ImageViewandroid:layout_width="25.0dip"android:layout_height="25.0dip"android:layout_gravity="center"android:src="@drawable/dingdan" /><TextViewandroid:layout_width="0.0dip"android:layout_height="wrap_content"android:layout_gravity="center_vertical"android:layout_marginLeft="10.0dip"android:layout_weight="1.0"android:text="我的订单"android:textColor="@color/colorBlack"android:textSize="14.0dip" /><ImageViewandroid:layout_width="25.0dip"android:layout_height="25.0dip"android:layout_gravity="center"android:src="@drawable/ic_right" /></LinearLayout><LinearLayoutandroid:id="@+id/browse"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginTop="10.0dip"android:background="@drawable/bg_ripple"android:orientation="horizontal"android:paddingLeft="20.0dip"android:paddingTop="10.0dip"android:paddingRight="20.0dip"android:paddingBottom="10.0dip"><ImageViewandroid:layout_width="25.0dip"android:layout_height="25.0dip"android:layout_gravity="center"android:src="@drawable/ic_browse" /><TextViewandroid:layout_width="0.0dip"android:layout_height="wrap_content"android:layout_gravity="center_vertical"android:layout_marginLeft="10.0dip"android:layout_weight="1.0"android:text="浏览记录"android:textColor="@color/colorBlack"android:textSize="14.0dip" /><ImageViewandroid:layout_width="25.0dip"android:layout_height="25.0dip"android:layout_gravity="center"android:src="@drawable/ic_right" /></LinearLayout><LinearLayoutandroid:id="@+id/security"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginTop="10.0dip"android:background="@drawable/bg_ripple"android:orientation="horizontal"android:paddingLeft="20.0dip"android:paddingTop="10.0dip"android:paddingRight="20.0dip"android:paddingBottom="10.0dip"><ImageViewandroid:layout_width="25.0dip"android:layout_height="25.0dip"android:layout_gravity="center"android:src="@drawable/ic_security" /><TextViewandroid:layout_width="0.0dip"android:layout_height="wrap_content"android:layout_gravity="center_vertical"android:layout_marginLeft="10.0dip"android:layout_weight="1.0"android:text="账号安全"android:textColor="@color/colorBlack"android:textSize="14.0dip" /><ImageViewandroid:layout_width="25.0dip"android:layout_height="25.0dip"android:layout_gravity="center"android:src="@drawable/ic_right" /></LinearLayout><LinearLayoutandroid:id="@+id/favorite"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginTop="10.0dip"android:background="@drawable/bg_ripple"android:orientation="horizontal"android:paddingLeft="20.0dip"android:paddingTop="10.0dip"android:paddingRight="20.0dip"android:paddingBottom="10.0dip"><ImageViewandroid:layout_width="25.0dip"android:layout_height="25.0dip"android:layout_gravity="center"android:src="@drawable/kefu" /><TextViewandroid:layout_width="0.0dip"android:layout_height="wrap_content"android:layout_gravity="center_vertical"android:layout_marginLeft="10.0dip"android:layout_weight="1.0"android:text="联系客服"android:textColor="@color/colorBlack"android:textSize="14.0dip" /><ImageViewandroid:layout_width="25.0dip"android:layout_height="25.0dip"android:layout_gravity="center"android:src="@drawable/ic_right" /></LinearLayout></LinearLayout><Buttonandroid:id="@+id/logout"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginLeft="20.0dip"android:layout_marginTop="100.0dip"android:layout_marginRight="20.0dip"android:background="@drawable/btn_border_fill"android:text="退出登录"android:textColor="@color/colorWhite"android:textSize="18.0dip" /></LinearLayout></LinearLayout>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:background="#ffffffff"android:orientation="vertical"><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:background="@drawable/bg_border_bottom"><com.example.snack.widget.ActionBarandroid:id="@id/myActionBar"android:layout_width="fill_parent"android:layout_height="wrap_content" /></LinearLayout><ImageViewandroid:layout_width="fill_parent"android:layout_height="100.0dip"android:layout_gravity="center"android:layout_marginTop="0.0dip"android:layout_marginBottom="20.0dip"android:src="@drawable/logo" /><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:layout_marginTop="0.0dip"android:layout_marginBottom="40.0dip"android:text="修改用户信息"android:textColor="#ff000000"android:textSize="30.0dip" /><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="vertical"android:paddingLeft="20.0dip"android:paddingRight="20.0dip"><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:background="@drawable/bg_border_bottom"android:orientation="horizontal"android:paddingTop="15.0dip"android:paddingBottom="15.0dip"><TextViewandroid:layout_width="70.0dip"android:layout_height="30.0dip"android:layout_weight="1.0"android:gravity="start"android:text="账 号:"android:textColor="#ff000000"android:textSize="20.0dip" /><TextViewandroid:id="@+id/account"android:layout_width="248.0dip"android:layout_height="wrap_content"android:gravity="left"android:textSize="16.0dip" /></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:background="@drawable/bg_border_bottom"android:orientation="horizontal"android:paddingTop="15.0dip"android:paddingBottom="15.0dip"><TextViewandroid:layout_width="0.0dip"android:layout_height="30.0dip"android:layout_weight="1.0"android:gravity="start"android:text="昵 称:"android:textColor="#ff000000"android:textSize="20.0dip" /><EditTextandroid:id="@id/nickName"android:layout_width="250.0dip"android:layout_height="wrap_content"android:gravity="left"android:text=""android:textSize="16.0dip" /></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:background="@drawable/bg_border_bottom"android:orientation="horizontal"android:paddingTop="15.0dip"android:paddingBottom="15.0dip"><TextViewandroid:layout_width="70.0dip"android:layout_height="30.0dip"android:layout_weight="1.0"android:gravity="start"android:text="电 话:"android:textColor="#ff000000"android:textSize="20.0dip" /><EditTextandroid:id="@+id/phone"android:layout_width="250.0dip"android:layout_height="wrap_content"android:gravity="left"android:inputType="number"android:text=""android:textSize="16.0dip" /></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:background="@drawable/bg_border_bottom"android:orientation="horizontal"android:paddingTop="15.0dip"android:paddingBottom="15.0dip"><TextViewandroid:layout_width="70.0dip"android:layout_height="30.0dip"android:layout_weight="1.0"android:gravity="start"android:text="收货地址:"android:textColor="#ff000000"android:textSize="20.0dip" /><EditTextandroid:id="@+id/address"android:layout_width="250.0dip"android:layout_height="wrap_content"android:gravity="left"android:text=""android:textSize="16.0dip" /></LinearLayout></LinearLayout><Buttonandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_margin="20.0dip"android:background="@drawable/btn_border_fill"android:onClick="save"android:text="保存"android:textColor="@color/colorWhite" />
</LinearLayout>
1. **初始化活动**:
- 调用 `super.onCreate(savedInstanceState)`,确保基类的初始化正确执行。
- 设置当前活动的引用为 `myActivity`。
2. **设置布局**:
- 使用 `setContentView(R.layout.activity_snack_add)` 加载相应的布局文件。
3. **视图组件初始化**:
- 找到并初始化不同的视图组件,包括文本输入框 (`etTitle`, `etIssuer`, `etImg`, `etContent`)、下拉菜单 (`spType`) 和图像视图 (`ivImg`)。
4. **自定义 ActionBar**:
- 获取自定义 `ActionBar` 并设置标题为“编辑零食信息”。
- 配置返回按钮(左侧点击事件)以结束当前活动。
- 右侧点击事件目前没有实现(留空)。
5. **初始化其他视图组件**:
- 调用 `initView()` 方法,可能用于设置视图的初始状态或加载数据。
@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);this.myActivity = this;setContentView(R.layout.activity_snack_add);this.etTitle = findViewById(R.id.title);this.etIssuer = findViewById(R.id.issuer);this.spType = findViewById(R.id.type);this.etImg = findViewById(R.id.img);this.etContent = findViewById(R.id.content);this.ivImg = findViewById(R.id.iv_img);ActionBar actionBar = findViewById(R.id.myActionBar);this.mActionBar = actionBar;actionBar.setData(this.myActivity, "编辑零食信息", R.drawable.ic_back, 0, 0, getResources().getColor(R.color.colorPrimary), new ActionBar.ActionBarClickListener() {@Overridepublic void onLeftClick() {AddSnackActivity.this.finish();}@Overridepublic void onRightClick() {}});initView();}
### 主要功能概述
1. **加载 Fragment 布局**:
- 使用 `inflater.inflate` 加载 `fragment_user` 的布局。
2. **视图组件初始化**:
- 初始化多个 UI 组件,包括:
- 用户信息 (`llPerson`)
- 安全设置 (`llSecurity`)
- 浏览界面 (`llBrowse`)
- 订单管理 (`order`)
- 管理界面 (`manage`)
- 登出按钮 (`btnLogout`)
- 收藏夹 (`llFavorite`)
3. **视图可见性设置**:
- 根据用户角色(普通用户或管理员)动态设置视图的可见性:
- 如果是管理员,隐藏收藏夹、订单和浏览界面,显示管理界面。
- 否则,显示所有功能,除了管理界面。
4. **点击事件处理**:
- 为各个视图组件设置点击事件:
- **个人信息**:点击后显示提示并启动 `PersonActivity`。
- **管理界面**:点击后显示提示并启动 `ManageActivity`。
- **安全设置**:点击后显示提示并启动 `PasswordActivity`。
- **浏览界面**:点击后显示提示并启动 `BrowseActivity`。
- **订单界面**:点击后显示提示并启动 `OrderActivity`。
- **收藏夹**:点击后显示提示(如 QQ 联系信息)。
- **登出按钮**:点击后显示提示,清除登录信息并返回 `LoginActivity`。
### 总结
这个 `Fragment` 负责用户界面的展示和操作,清晰地组织了各个功能模块。根据用户角色动态调整视图的可见性,并提供了友好的交互体验。整体结构简单易读,便于维护和扩展。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:background="#ffffffff"android:orientation="vertical"><ImageViewandroid:layout_width="fill_parent"android:layout_height="100.0dip"android:layout_gravity="center"android:layout_marginTop="0.0dip"android:layout_marginBottom="50.0dip"android:src="@drawable/logo" /><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="vertical"><LinearLayoutandroid:id="@+id/person"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginTop="10.0dip"android:background="@drawable/bg_ripple"android:orientation="horizontal"android:paddingLeft="20.0dip"android:paddingTop="10.0dip"android:paddingRight="20.0dip"android:paddingBottom="10.0dip"><ImageViewandroid:layout_width="25.0dip"android:layout_height="25.0dip"android:layout_gravity="center"android:src="@drawable/main_user_press" /><TextViewandroid:layout_width="0.0dip"android:layout_height="wrap_content"android:layout_gravity="center_vertical"android:layout_marginLeft="10.0dip"android:layout_weight="1.0"android:text="个人信息"android:textColor="@color/colorBlack"android:textSize="14.0dip" /><ImageViewandroid:layout_width="25.0dip"android:layout_height="25.0dip"android:layout_gravity="center"android:src="@drawable/ic_right" /></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="vertical"><LinearLayoutandroid:id="@+id/manage"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginTop="10.0dip"android:background="@drawable/bg_ripple"android:orientation="horizontal"android:paddingLeft="20.0dip"android:paddingTop="10.0dip"android:paddingRight="20.0dip"android:paddingBottom="10.0dip"><ImageViewandroid:layout_width="25.0dip"android:layout_height="25.0dip"android:layout_gravity="center"android:src="@drawable/manage" /><TextViewandroid:layout_width="0.0dip"android:layout_height="wrap_content"android:layout_gravity="center_vertical"android:layout_marginLeft="10.0dip"android:layout_weight="1.0"android:text="用户管理"android:textColor="@color/colorBlack"android:textSize="14.0dip" /><ImageViewandroid:layout_width="25.0dip"android:layout_height="25.0dip"android:layout_gravity="center"android:src="@drawable/ic_right" /></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="vertical"><LinearLayoutandroid:id="@+id/order"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginTop="10.0dip"android:background="@drawable/bg_ripple"android:orientation="horizontal"android:paddingLeft="20.0dip"android:paddingTop="10.0dip"android:paddingRight="20.0dip"android:paddingBottom="10.0dip"><ImageViewandroid:layout_width="25.0dip"android:layout_height="25.0dip"android:layout_gravity="center"android:src="@drawable/dingdan" /><TextViewandroid:layout_width="0.0dip"android:layout_height="wrap_content"android:layout_gravity="center_vertical"android:layout_marginLeft="10.0dip"android:layout_weight="1.0"android:text="我的订单"android:textColor="@color/colorBlack"android:textSize="14.0dip" /><ImageViewandroid:layout_width="25.0dip"android:layout_height="25.0dip"android:layout_gravity="center"android:src="@drawable/ic_right" /></LinearLayout><LinearLayoutandroid:id="@+id/browse"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginTop="10.0dip"android:background="@drawable/bg_ripple"android:orientation="horizontal"android:paddingLeft="20.0dip"android:paddingTop="10.0dip"android:paddingRight="20.0dip"android:paddingBottom="10.0dip"><ImageViewandroid:layout_width="25.0dip"android:layout_height="25.0dip"android:layout_gravity="center"android:src="@drawable/ic_browse" /><TextViewandroid:layout_width="0.0dip"android:layout_height="wrap_content"android:layout_gravity="center_vertical"android:layout_marginLeft="10.0dip"android:layout_weight="1.0"android:text="浏览记录"android:textColor="@color/colorBlack"android:textSize="14.0dip" /><ImageViewandroid:layout_width="25.0dip"android:layout_height="25.0dip"android:layout_gravity="center"android:src="@drawable/ic_right" /></LinearLayout><LinearLayoutandroid:id="@+id/security"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginTop="10.0dip"android:background="@drawable/bg_ripple"android:orientation="horizontal"android:paddingLeft="20.0dip"android:paddingTop="10.0dip"android:paddingRight="20.0dip"android:paddingBottom="10.0dip"><ImageViewandroid:layout_width="25.0dip"android:layout_height="25.0dip"android:layout_gravity="center"android:src="@drawable/ic_security" /><TextViewandroid:layout_width="0.0dip"android:layout_height="wrap_content"android:layout_gravity="center_vertical"android:layout_marginLeft="10.0dip"android:layout_weight="1.0"android:text="账号安全"android:textColor="@color/colorBlack"android:textSize="14.0dip" /><ImageViewandroid:layout_width="25.0dip"android:layout_height="25.0dip"android:layout_gravity="center"android:src="@drawable/ic_right" /></LinearLayout><LinearLayoutandroid:id="@+id/favorite"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginTop="10.0dip"android:background="@drawable/bg_ripple"android:orientation="horizontal"android:paddingLeft="20.0dip"android:paddingTop="10.0dip"android:paddingRight="20.0dip"android:paddingBottom="10.0dip"><ImageViewandroid:layout_width="25.0dip"android:layout_height="25.0dip"android:layout_gravity="center"android:src="@drawable/kefu" /><TextViewandroid:layout_width="0.0dip"android:layout_height="wrap_content"android:layout_gravity="center_vertical"android:layout_marginLeft="10.0dip"android:layout_weight="1.0"android:text="联系客服"android:textColor="@color/colorBlack"android:textSize="14.0dip" /><ImageViewandroid:layout_width="25.0dip"android:layout_height="25.0dip"android:layout_gravity="center"android:src="@drawable/ic_right" /></LinearLayout></LinearLayout><Buttonandroid:id="@+id/logout"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginLeft="20.0dip"android:layout_marginTop="100.0dip"android:layout_marginRight="20.0dip"android:background="@drawable/btn_border_fill"android:text="退出登录"android:textColor="@color/colorWhite"android:textSize="18.0dip" /></LinearLayout></LinearLayout>
</LinearLayout>
四、完整的项目源码
👇👇👇👇👇快捷获取方式👇👇👇👇👇