目录
一、项目演示
网络资源模板--零食工坊
二、项目测试环境
三、项目详情
- **加载 Fragment 布局**:
- 使用 `inflater.inflate` 加载 `fragment_snack` 的布局。
- **视图组件初始化**:
-
初始化了多个 UI 组件,包括:
-
`TabLayout` (`tabTitle`): 用于显示标签。
-
`RecyclerView` (`rvsnackList`): 用于展示零食列表。
-
空状态布局 (`llEmpty`): 当列表为空时显示的视图。
-
查询输入框 (`etQuery`): 供用户输入搜索关键词。
-
搜索图标 (`ivSearch`): 触发搜索操作的图标。
-
添加零食的浮动按钮 (`btnAdd`): 用于添加新零食。
- **设置搜索功能**:
- 为搜索图标设置点击事件,点击后调用 `loadData()` 方法以加载数据。
- **键盘操作监听**:
-
设置查询输入框的编辑动作监听器:
-
当用户按下特定的键(actionId 为 3)时,隐藏键盘并调用 `loadData()` 方法。
- **添加零食功能**:
- 为添加按钮设置点击事件,点击后启动 `AddSnackActivity`,并等待结果(请求码为 100)。
java
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` 方法中,主要实现了登录界面的初始化及逻辑处理,具体功能如下:
主要功能概述
- **界面设置**:
- 设置 Activity 的布局为 `activity_login`。
- **视图组件初始化**:
-
初始化了多个 UI 组件,包括:
-
账号输入框 (`etAccount`)
-
密码输入框 (`etPassword`)
-
注册文本 (`tvRegister`)
-
找回密码文本 (`tv_mm`)
-
登录按钮 (`btnLogin`)
-
用户类型选择的单选按钮组 (`rgType`)
-
用户和管理员的单选按钮 (`rbUser` 和 `rbAdmin`)
-
同意协议的复选框 (`cbAgree`)
- **自定义 ActionBar**:
- 初始化 `ActionBar`,设置标题和点击事件,左侧点击事件为结束当前 Activity。
- **点击事件处理**:
-
注册点击事件:
-
注册按钮:启动 `RegisterActivity`。
-
找回密码按钮:启动 `PasswordActivity`。
-
用户类型选择的单选按钮:保存选择的用户类型(普通用户或管理员)到 SharedPreferences。
- **登录逻辑**:
-
登录按钮的点击事件处理:
-
隐藏软键盘。
-
获取输入的账号和密码。
-
校验输入是否为空,并提供相应提示。
-
检查用户是否存在,并验证密码是否正确。
-
根据用户类型(管理员或普通用户)进行进一步验证。
-
确认用户同意用户协议。
-
登录成功后,将账号存入 SharedPreferences,启动 `MainActivity` 并显示成功提示。
总结
此方法清晰地组织了登录界面的逻辑,包括视图组件的初始化、事件处理和登录验证。整体结构逻辑严谨,能够有效地引导用户完成登录操作。
java
@Override
protected 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() {
@Override
public void onLeftClick() {
LoginActivity.this.finish();
}
@Override
public 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
<?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">
<ImageView
android: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" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android: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">
<ImageView
android:layout_width="25.0dip"
android:layout_height="25.0dip"
android:layout_gravity="center"
android:src="@drawable/main_user_press" />
<TextView
android: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" />
<ImageView
android:layout_width="25.0dip"
android:layout_height="25.0dip"
android:layout_gravity="center"
android:src="@drawable/ic_right" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android: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">
<ImageView
android:layout_width="25.0dip"
android:layout_height="25.0dip"
android:layout_gravity="center"
android:src="@drawable/manage" />
<TextView
android: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" />
<ImageView
android:layout_width="25.0dip"
android:layout_height="25.0dip"
android:layout_gravity="center"
android:src="@drawable/ic_right" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android: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">
<ImageView
android:layout_width="25.0dip"
android:layout_height="25.0dip"
android:layout_gravity="center"
android:src="@drawable/dingdan" />
<TextView
android: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" />
<ImageView
android:layout_width="25.0dip"
android:layout_height="25.0dip"
android:layout_gravity="center"
android:src="@drawable/ic_right" />
</LinearLayout>
<LinearLayout
android: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">
<ImageView
android:layout_width="25.0dip"
android:layout_height="25.0dip"
android:layout_gravity="center"
android:src="@drawable/ic_browse" />
<TextView
android: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" />
<ImageView
android:layout_width="25.0dip"
android:layout_height="25.0dip"
android:layout_gravity="center"
android:src="@drawable/ic_right" />
</LinearLayout>
<LinearLayout
android: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">
<ImageView
android:layout_width="25.0dip"
android:layout_height="25.0dip"
android:layout_gravity="center"
android:src="@drawable/ic_security" />
<TextView
android: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" />
<ImageView
android:layout_width="25.0dip"
android:layout_height="25.0dip"
android:layout_gravity="center"
android:src="@drawable/ic_right" />
</LinearLayout>
<LinearLayout
android: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">
<ImageView
android:layout_width="25.0dip"
android:layout_height="25.0dip"
android:layout_gravity="center"
android:src="@drawable/kefu" />
<TextView
android: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" />
<ImageView
android:layout_width="25.0dip"
android:layout_height="25.0dip"
android:layout_gravity="center"
android:src="@drawable/ic_right" />
</LinearLayout>
</LinearLayout>
<Button
android: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
<?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">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_border_bottom">
<com.example.snack.widget.ActionBar
android:id="@id/myActionBar"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<ImageView
android: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" />
<TextView
android: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" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingLeft="20.0dip"
android:paddingRight="20.0dip">
<LinearLayout
android: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">
<TextView
android: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" />
<TextView
android:id="@+id/account"
android:layout_width="248.0dip"
android:layout_height="wrap_content"
android:gravity="left"
android:textSize="16.0dip" />
</LinearLayout>
<LinearLayout
android: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">
<TextView
android: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" />
<EditText
android:id="@id/nickName"
android:layout_width="250.0dip"
android:layout_height="wrap_content"
android:gravity="left"
android:text=""
android:textSize="16.0dip" />
</LinearLayout>
<LinearLayout
android: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">
<TextView
android: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" />
<EditText
android: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>
<LinearLayout
android: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">
<TextView
android: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" />
<EditText
android:id="@+id/address"
android:layout_width="250.0dip"
android:layout_height="wrap_content"
android:gravity="left"
android:text=""
android:textSize="16.0dip" />
</LinearLayout>
</LinearLayout>
<Button
android: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>
- **初始化活动**:
-
调用 `super.onCreate(savedInstanceState)`,确保基类的初始化正确执行。
-
设置当前活动的引用为 `myActivity`。
- **设置布局**:
- 使用 `setContentView(R.layout.activity_snack_add)` 加载相应的布局文件。
- **视图组件初始化**:
- 找到并初始化不同的视图组件,包括文本输入框 (`etTitle`, `etIssuer`, `etImg`, `etContent`)、下拉菜单 (`spType`) 和图像视图 (`ivImg`)。
- **自定义 ActionBar**:
-
获取自定义 `ActionBar` 并设置标题为"编辑零食信息"。
-
配置返回按钮(左侧点击事件)以结束当前活动。
-
右侧点击事件目前没有实现(留空)。
- **初始化其他视图组件**:
- 调用 `initView()` 方法,可能用于设置视图的初始状态或加载数据。
java
@Override
protected 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() {
@Override
public void onLeftClick() {
AddSnackActivity.this.finish();
}
@Override
public void onRightClick() {
}
});
initView();
}
主要功能概述
- **加载 Fragment 布局**:
- 使用 `inflater.inflate` 加载 `fragment_user` 的布局。
- **视图组件初始化**:
-
初始化多个 UI 组件,包括:
-
用户信息 (`llPerson`)
-
安全设置 (`llSecurity`)
-
浏览界面 (`llBrowse`)
-
订单管理 (`order`)
-
管理界面 (`manage`)
-
登出按钮 (`btnLogout`)
-
收藏夹 (`llFavorite`)
- **视图可见性设置**:
-
根据用户角色(普通用户或管理员)动态设置视图的可见性:
-
如果是管理员,隐藏收藏夹、订单和浏览界面,显示管理界面。
-
否则,显示所有功能,除了管理界面。
- **点击事件处理**:
-
为各个视图组件设置点击事件:
-
**个人信息**:点击后显示提示并启动 `PersonActivity`。
-
**管理界面**:点击后显示提示并启动 `ManageActivity`。
-
**安全设置**:点击后显示提示并启动 `PasswordActivity`。
-
**浏览界面**:点击后显示提示并启动 `BrowseActivity`。
-
**订单界面**:点击后显示提示并启动 `OrderActivity`。
-
**收藏夹**:点击后显示提示(如 QQ 联系信息)。
-
**登出按钮**:点击后显示提示,清除登录信息并返回 `LoginActivity`。
总结
这个 `Fragment` 负责用户界面的展示和操作,清晰地组织了各个功能模块。根据用户角色动态调整视图的可见性,并提供了友好的交互体验。整体结构简单易读,便于维护和扩展。
XML
<?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">
<ImageView
android: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" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android: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">
<ImageView
android:layout_width="25.0dip"
android:layout_height="25.0dip"
android:layout_gravity="center"
android:src="@drawable/main_user_press" />
<TextView
android: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" />
<ImageView
android:layout_width="25.0dip"
android:layout_height="25.0dip"
android:layout_gravity="center"
android:src="@drawable/ic_right" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android: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">
<ImageView
android:layout_width="25.0dip"
android:layout_height="25.0dip"
android:layout_gravity="center"
android:src="@drawable/manage" />
<TextView
android: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" />
<ImageView
android:layout_width="25.0dip"
android:layout_height="25.0dip"
android:layout_gravity="center"
android:src="@drawable/ic_right" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android: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">
<ImageView
android:layout_width="25.0dip"
android:layout_height="25.0dip"
android:layout_gravity="center"
android:src="@drawable/dingdan" />
<TextView
android: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" />
<ImageView
android:layout_width="25.0dip"
android:layout_height="25.0dip"
android:layout_gravity="center"
android:src="@drawable/ic_right" />
</LinearLayout>
<LinearLayout
android: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">
<ImageView
android:layout_width="25.0dip"
android:layout_height="25.0dip"
android:layout_gravity="center"
android:src="@drawable/ic_browse" />
<TextView
android: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" />
<ImageView
android:layout_width="25.0dip"
android:layout_height="25.0dip"
android:layout_gravity="center"
android:src="@drawable/ic_right" />
</LinearLayout>
<LinearLayout
android: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">
<ImageView
android:layout_width="25.0dip"
android:layout_height="25.0dip"
android:layout_gravity="center"
android:src="@drawable/ic_security" />
<TextView
android: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" />
<ImageView
android:layout_width="25.0dip"
android:layout_height="25.0dip"
android:layout_gravity="center"
android:src="@drawable/ic_right" />
</LinearLayout>
<LinearLayout
android: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">
<ImageView
android:layout_width="25.0dip"
android:layout_height="25.0dip"
android:layout_gravity="center"
android:src="@drawable/kefu" />
<TextView
android: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" />
<ImageView
android:layout_width="25.0dip"
android:layout_height="25.0dip"
android:layout_gravity="center"
android:src="@drawable/ic_right" />
</LinearLayout>
</LinearLayout>
<Button
android: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>
四、完整的项目源码
👇👇👇👇👇快捷获取方式👇👇👇👇👇