ソースを参照

本地保存修改弹框控件

Bitliker 9 年 前
コミット
e09c9f70d0

+ 1 - 1
WeiChat/build.gradle

@@ -119,8 +119,8 @@ dependencies {
     compile files('libs/Msc.jar')
     compile files('libs/zhy_treeview.jar')
     compile 'com.alibaba:fastjson:1.2.24'
-    compile 'de.hdodenhof:circleimageview:2.1.0'
     compile 'com.alibaba:fastjson:1.2.24'
+    compile 'de.hdodenhof:circleimageview:2.1.0'
     compile 'joda-time:joda-time:2.9.4'
     compile 'com.readystatesoftware.systembartint:systembartint:1.0.3'
     compile 'com.android.support:support-v4:22.2.1'

+ 18 - 16
WeiChat/src/main/AndroidManifest.xml

@@ -108,8 +108,7 @@
     <!-- 计步器用到 -->
     <uses-feature android:name="android.hardware.sensor.accelerometer" />
 
-    <!--<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />-->
-
+    <!-- <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" /> -->
     <!-- 自动聚焦权限 -->
     <!-- 全局样式不要随意改动  @style/AppTheme -->
     <application
@@ -597,7 +596,7 @@
         <activity android:name=".ui.erp.activity.oa.OAMainActivity" />
 
         <!-- 分享开始   umeng api key -->
-        <!--TODO Bitliker   android:value="574504a167e58eec520017df" -->
+        <!-- TODO Bitliker   android:value="574504a167e58eec520017df" -->
         <meta-data
             android:name="UMENG_APPKEY"
             android:value="57ea27bb67e58e088c003bbf" />
@@ -763,7 +762,6 @@
         <activity
             android:name=".ui.message.Subscription2Activity"
             android:label="订阅号" />
-
         <activity
             android:name=".ui.erp.activity.oa.MissionSetActivity"
             android:label="@string/activity_mission_set" />
@@ -889,15 +887,17 @@
         <activity
             android:name="com.xzjmyk.pm.newpedo.view.NewStepListActivity"
             android:label="更多历史记录" />
-        <activity android:name="com.xzjmyk.pm.newpedo.view.StepSplashActivity"
-            android:exported="true"/>
-        <!-- 计步功能 服务-->
+        <activity
+            android:name="com.xzjmyk.pm.newpedo.view.StepSplashActivity"
+            android:exported="true" />
+        <!-- 计步功能 服务 -->
         <service
             android:name="com.xzjmyk.pm.newpedo.service.StepService"
             android:priority="1000"
             android:process="com.spring.stepcount.service">
             <intent-filter>
-                <!-- 系统启动完成后会调用-->
+
+                <!-- 系统启动完成后会调用 -->
                 <action android:name="android.intent.action.BOOT_COMPLETED" />
                 <action android:name="android.intent.action.DATE_CHANGED" />
                 <action android:name="android.intent.action.MEDIA_MOUNTED" />
@@ -908,14 +908,16 @@
             </intent-filter>
         </service>
 
-        <activity android:name=".ui.platform.pageforms.ComplaintDetailActivity"
-            android:label="申诉单"/>
-
-        <activity android:name=".ui.erp.activity.oa.FlihtsDateSelectActivity"
-            android:label="@string/work_day"/>
-
-        <activity android:name=".ui.erp.activity.ADActivity"/>
-        <activity android:name=".ui.erp.activity.oa.PlatMsgThirdActivity"/>
+        <activity
+            android:name=".ui.platform.pageforms.ComplaintDetailActivity"
+            android:label="申诉单" />
+        <activity
+            android:name=".ui.erp.activity.oa.FlihtsDateSelectActivity"
+            android:label="@string/work_day" />
+        <activity android:name=".ui.erp.activity.ADActivity" />
+        <activity android:name=".ui.erp.activity.oa.PlatMsgThirdActivity" />
+        <activity android:name=".ui.erp.activity.oa.AddContactsActivity"
+            android:label="@string/add_contacts"/>
     </application>
 
 </manifest>

+ 93 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/AddContactsActivity.java

@@ -0,0 +1,93 @@
+package com.xzjmyk.pm.activity.ui.erp.activity.oa;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.text.Editable;
+import android.text.Selection;
+import android.util.DisplayMetrics;
+import android.view.Gravity;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.EditText;
+import android.widget.ImageView;
+import android.widget.PopupWindow;
+import android.widget.TextView;
+
+import com.andreabaccega.widget.FormEditText;
+import com.lidroid.xutils.ViewUtils;
+import com.lidroid.xutils.view.annotation.ViewInject;
+import com.xzjmyk.pm.activity.R;
+import com.xzjmyk.pm.activity.ui.base.BaseActivity;
+import com.xzjmyk.pm.activity.ui.erp.model.oa.SelectAimModel;
+import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
+import com.xzjmyk.pm.activity.util.DisplayUtil;
+
+public class AddContactsActivity extends BaseActivity implements View.OnClickListener {
+
+    @ViewInject(R.id.name_et)
+    private FormEditText name_et;
+    @ViewInject(R.id.position_et)
+    private FormEditText position_et;
+    @ViewInject(R.id.mobile_et)
+    private FormEditText mobile_et;
+    @ViewInject(R.id.company_tv)
+    private TextView company_tv;
+    @ViewInject(R.id.company_add_tv)
+    private TextView company_add_tv;
+    @ViewInject(R.id.card_img)
+    private ImageView card_img;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_add_contacts);
+        ViewUtils.inject(this);
+        initView();
+        initEnvet();
+    }
+
+    private void initEnvet() {
+        findViewById(R.id.submit_btn).setOnClickListener(this);
+        findViewById(R.id.company_tv).setOnClickListener(this);
+    }
+
+    private void initView() {
+
+    }
+
+    @Override
+    public void onClick(View v) {
+        switch (v.getId()) {
+            case R.id.submit_btn:
+                if (canSubmit()) {
+                    submit();
+                }
+                break;
+            case R.id.company_tv:
+                startActivityForResult(new Intent(ct, SelectAimActivity.class), 0x20);
+                break;
+        }
+    }
+
+
+    private void submit() {
+
+    }
+
+    private boolean canSubmit() {
+        if (!name_et.testValidity() || !position_et.testValidity() || !mobile_et.testValidity())
+            return false;
+        return true;
+    }
+
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+        if (data == null) return;
+        if (requestCode == 0x20 && resultCode == 0x20) {
+            SelectAimModel entity = data.getParcelableExtra("data");
+        }
+    }
+
+
+}

+ 122 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/PopupWindowHelper.java

@@ -0,0 +1,122 @@
+package com.xzjmyk.pm.activity.ui.erp.util;
+
+import android.app.Activity;
+import android.view.Gravity;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.WindowManager;
+import android.widget.EditText;
+import android.widget.PopupWindow;
+import android.widget.TextView;
+
+import com.xzjmyk.pm.activity.MyApplication;
+import com.xzjmyk.pm.activity.R;
+import com.xzjmyk.pm.activity.ui.erp.model.oa.SelectAimModel;
+
+/**
+ * Created by Bitliker on 2017/5/3.
+ */
+
+public class PopupWindowHelper {
+    private Activity ct;
+    private String title;
+    private SelectAimModel model;
+
+
+    public PopupWindowHelper(Activity ct) {
+        this.ct = ct;
+    }
+
+    public PopupWindowHelper setTitle(String title) {
+        this.title = title;
+        return this;
+    }
+
+    public PopupWindowHelper setModel(SelectAimModel model) {
+        this.model = model;
+        return this;
+    }
+
+    public PopupWindowHelper setOnClickListener(OnClickListener onClickListener) {
+        this.onClickListener = onClickListener;
+        return this;
+    }
+
+    public void create() {
+        PopupWindow window = new PopupWindow(ct);
+        View view = LayoutInflater.from(ct).inflate(R.layout.item_select_aim_pop, null);
+        window.setContentView(view);
+        window.setBackgroundDrawable(ct.getResources().getDrawable(R.drawable.pop_round_bg));
+        setBackgroundAlpha(ct, 0.4f);
+        viewEvent(view);
+        window.setOnDismissListener(new PopupWindow.OnDismissListener() {
+            @Override
+            public void onDismiss() {
+                setBackgroundAlpha(ct, 1f);
+            }
+        });
+        window.showAtLocation(view, Gravity.CENTER, 0, 0);
+    }
+
+    private void viewEvent(View view) {
+        TextView title_tv = (TextView) view.findViewById(R.id.title_tv);
+        final EditText company_et = (EditText) view.findViewById(R.id.company_et);
+        TextView address_tv = (TextView) view.findViewById(R.id.address_tv);
+        String title = StringUtils.isEmpty(this.title) ? "" : this.title;
+        String company = (model == null || StringUtils.isEmpty(model.getName())) ? "" : model.getName();
+        String address = (model == null || StringUtils.isEmpty(model.getAddress())) ? "" : model.getName();
+        title_tv.setText(title);
+        company_et.setText(company);
+        address_tv.setText(MyApplication.getInstance().getString(R.string.detailed_address) + "  " + address);
+        view.findViewById(R.id.goto_tv).setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                setBack(null);
+            }
+        });
+        view.findViewById(R.id.sure_tv).setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                String company = company_et.getText().toString();
+                setBack(company);
+            }
+        });
+    }
+
+    /**
+     * 设置页面的透明度
+     * 兼容华为手机(在个别华为手机上 设置透明度会不成功)
+     *
+     * @param bgAlpha 透明度   1表示不透明
+     */
+    public void setBackgroundAlpha(Activity activity, float bgAlpha) {
+        WindowManager.LayoutParams lp = activity.getWindow().getAttributes();
+        lp.alpha = bgAlpha;
+        if (bgAlpha == 1) {
+            activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);//不移除该Flag的话,在有视频的页面上的视频会出现黑屏的bug
+        } else {
+            activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);//此行代码主要是解决在华为手机上半透明效果无效的bug
+        }
+        activity.getWindow().setAttributes(lp);
+    }
+
+
+    private void setBack(String company) {
+        if (model == null) {
+            model = new SelectAimModel();
+            model.setAddress("");
+        }
+        if (!StringUtils.isEmpty(company))
+            model.setName(company);
+        if (onClickListener != null)
+            onClickListener.result(model);
+    }
+
+
+    private OnClickListener onClickListener;
+
+    public interface OnClickListener {
+        void result(SelectAimModel model);
+    }
+
+}

+ 14 - 0
WeiChat/src/main/res/drawable/pop_round_bg.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android" >
+
+    <!-- solid 设置stroke设置的边框以内的颜色 -->
+    <solid android:color="#ffffff"/>
+    <!-- stroke主要设置组件的边框。width为边框宽度,color为边框颜色 -->
+    <stroke android:width="3dp" android:color="#ffffff" />
+    <!-- corners 设置边框四角弧度 -->
+    <corners android:radius="10dp"/>
+    <!-- padding主要设置组件里内容距离组件内边框的间距 -->
+    <padding android:left="3dp" android:top="3dp"
+        android:right="3dp" android:bottom="3dp"/>
+
+</shape>

+ 152 - 0
WeiChat/src/main/res/layout/activity_add_contacts.xml

@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:editTextFormExample="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@color/hine_bg"
+    android:orientation="vertical"
+    tools:context="com.xzjmyk.pm.activity.ui.erp.activity.oa.AddContactsActivity">
+
+    <RelativeLayout
+        android:id="@+id/name_rl"
+        style="@style/item_menu">
+
+        <TextView
+            android:id="@+id/name_tag"
+            style="@style/item_menu_tag"
+            android:gravity="center_vertical"
+            android:text="@string/name" />
+
+        <com.andreabaccega.widget.FormEditText
+            android:id="@+id/name_et"
+            style="@style/item_menu_input"
+            android:layout_toRightOf="@id/name_tag"
+            android:focusable="false"
+            android:focusableInTouchMode="false"
+            android:hint="@string/common_input"
+            editTextFormExample:testType="nocheck" />
+    </RelativeLayout>
+
+    <RelativeLayout
+        android:id="@+id/position_rl"
+        style="@style/item_menu">
+
+        <TextView
+            android:id="@+id/position_tag"
+            style="@style/item_menu_tag"
+            android:gravity="center_vertical"
+            android:text="@string/position" />
+
+        <com.andreabaccega.widget.FormEditText
+            android:id="@+id/position_et"
+            style="@style/item_menu_input"
+            android:layout_toRightOf="@id/position_tag"
+            android:focusable="false"
+            android:focusableInTouchMode="false"
+            android:hint="@string/common_input"
+            editTextFormExample:testType="nocheck" />
+    </RelativeLayout>
+
+    <RelativeLayout
+        android:id="@+id/mobile_rl"
+        style="@style/item_menu">
+
+        <TextView
+            android:id="@+id/mobile_tag"
+            style="@style/item_menu_tag"
+            android:gravity="center_vertical"
+            android:text="@string/user_phone" />
+
+        <com.andreabaccega.widget.FormEditText
+            android:id="@+id/mobile_et"
+            style="@style/item_menu_input"
+            android:layout_toRightOf="@id/mobile_tag"
+            android:focusable="false"
+            android:focusableInTouchMode="false"
+            android:hint="@string/common_input"
+            editTextFormExample:testType="nocheck" />
+    </RelativeLayout>
+
+    <RelativeLayout
+        android:id="@+id/company_rl"
+        style="@style/item_menu"
+        android:layout_marginTop="10dp">
+
+        <TextView
+            android:id="@+id/company_tag"
+            style="@style/item_menu_tag"
+            android:gravity="center_vertical"
+            android:text="@string/company_name" />
+
+        <TextView
+            android:id="@+id/company_tv"
+            style="@style/item_menu_input"
+            android:layout_toRightOf="@id/company_tag"
+            android:drawablePadding="6dp"
+            android:drawableRight="@drawable/oa_next"
+            android:hint="@string/common_select_not_must" />
+    </RelativeLayout>
+
+    <RelativeLayout
+        android:id="@+id/company_add_rl"
+        style="@style/item_menu">
+
+        <TextView
+            android:id="@+id/company_add_tag"
+            style="@style/item_menu_tag"
+            android:gravity="center_vertical"
+            android:text="@string/company_address"
+            android:textColor="@color/hintColor" />
+
+        <TextView
+            android:id="@+id/company_add_tv"
+            style="@style/item_menu_input"
+            android:layout_toRightOf="@id/company_add_tag"
+            android:textColor="@color/hintColor" />
+    </RelativeLayout>
+
+    <RelativeLayout
+        android:id="@+id/card_rl"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="10dp"
+        android:background="@color/me_menu_item_normal"
+        android:paddingLeft="10dp">
+
+        <TextView
+            android:id="@+id/card_tag"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="@string/add_card"
+            android:textColor="@color/hintColor" />
+
+        <ImageView
+            android:id="@+id/card_img"
+            android:layout_width="50dp"
+            android:layout_height="50dp"
+            android:layout_below="@id/card_tag"
+            android:layout_margin="20dp"
+            android:background="@null"
+            android:src="@drawable/picture" />
+    </RelativeLayout>
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+        <Button
+            android:id="@+id/submit_btn"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_alignParentBottom="true"
+            android:layout_marginBottom="10dp"
+            android:layout_marginLeft="20dp"
+            android:layout_marginRight="20dp"
+            android:background="@drawable/bg_bule_btn"
+            android:padding="10dp"
+            android:text="@string/common_submit_button"
+            android:textColor="@color/white"
+            android:textSize="@dimen/text_main" />
+    </RelativeLayout>
+</LinearLayout>

+ 9 - 6
WeiChat/src/main/res/layout/item_select_aim_pop.xml

@@ -1,16 +1,18 @@
 <?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="200dp"
+    android:layout_height="match_parent"
     android:gravity="center_horizontal"
-    android:background="@drawable/bg_main"
     android:orientation="vertical"
-    android:padding="10dp">
+    android:paddingLeft="10dp"
+    android:paddingRight="10dp"
+    android:paddingTop="10dp">
 
     <TextView
         android:id="@+id/title_tv"
-        android:layout_width="wrap_content"
+        android:layout_width="match_parent"
         android:layout_height="20dp"
+        android:gravity="center"
         android:text="@string/perfect_company_name"
         android:textColor="@color/text_main"
         android:textSize="@dimen/text_main" />
@@ -25,7 +27,7 @@
         <TextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:text="@string/company_name"
+            android:text=""
             android:textColor="@color/text_main"
             android:textSize="@dimen/text_main" />
 
@@ -35,7 +37,8 @@
             android:layout_height="wrap_content"
             android:background="@null"
             android:ellipsize="end"
-            android:maxLines="2"
+            android:maxLines="1"
+            android:text="@string/company_name"
             android:textColor="@color/text_main"
             android:textSize="@dimen/text_main" />
     </LinearLayout>

+ 10 - 1
WeiChat/src/main/res/values-zh-rCN/strings.xml

@@ -497,7 +497,7 @@
     <string name="my_mission">我的外勤</string>
     <string name="add_mission_plan">+增加外勤计划</string>
     <string name="perfect_company_name">完善单位名称</string>
-    <string name="company_name">单位名称</string>
+    <string name="company_name">公司名称</string>
     <string name="skip_operation">跳过此步</string>
 
 
@@ -571,6 +571,15 @@
     <string name="uu_auto_work_signined_up">UU已经帮你自动打卡</string>
     <string name="success_signin_down_can_back">外勤签退成功,您还有时间返回公司,请回公司签到</string>
     <string name="success_signin_down_task_ok">外勤签退成功,当天任务已结束</string>
+
+    <string name="add_contacts">add_contacts</string>
+    <string name="name">姓名</string>
+    <string name="position">岗位</string>
+    <string name="company_address">公司地址</string>
+    <string name="add_card">添加名片</string>
+    <string name="detailed_address">详细地址</string>
+
+
     <string-array name="one_five_hour">
         <item>上班前1个小时</item>
         <item>上班前2个小时</item>

+ 1 - 0
WeiChat/src/main/res/values/colors.xml

@@ -101,6 +101,7 @@
     <drawable name="button_caution_normal">#f559b1</drawable>
     <!-- 程序主色调 -->
     <color name="background">#f2f2f2</color>
+    <color name="hine_bg">#ebe9e9</color>
     <color name="table_background">#cbcbcb</color>
     <color name="light_white">#fcfcfc</color>
     <color name="tab_main_color">#1e1d1d</color>

+ 1 - 1
WeiChat/src/main/res/values/dimens.xml

@@ -21,7 +21,7 @@
     <dimen name="oa_statistics_date_minheight">30dp</dimen>
     <!-- end oa 考勤统计页面-->
     <dimen name="next_width">10.0dip</dimen>
-    <dimen name="line">1px</dimen>
+    <dimen name="line">2px</dimen>
     <dimen name="line_big">7.0dip</dimen>
     <dimen name="line_min">2.0dip</dimen>
     <dimen name="next_height">15.0dip</dimen>

+ 45 - 0
WeiChat/src/main/res/values/styles.xml

@@ -12,11 +12,13 @@
     <style name="style_actionbar_title_style">
         <item name="android:textSize">13sp</item>
     </style>
+
     <style name="TreeNodeStyleCustom">
         <item name="android:paddingLeft">20dp</item>
         <!--<item name="android:showDividers">middle</item>-->
         <!--<item name="android:divider">@android:drawable/divider_horizontal_bright</item>-->
     </style>
+
     <style name="style_bg_bar_bule">
         <item name="android:background">@color/titleBlue</item>
     </style>
@@ -180,6 +182,7 @@
         <item name="android:paddingLeft">9dp</item>
         <item name="android:paddingRight">5dp</item>
     </style>
+
     <style name="IMTbleLine2">
         <item name="android:layout_width">match_parent</item>
         <item name="android:layout_height">@dimen/item_height</item>
@@ -345,6 +348,48 @@
         <item name="android:textSize">15sp</item>
     </style>
 
+
+    <style name="item_menu">
+        <item name="android:background">@color/me_menu_item_normal</item>
+        <item name="android:textColor">@color/text_normal</item>
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_marginTop">2px</item>
+        <item name="android:layout_height">@dimen/item_height</item>
+        <item name="android:padding">6dp</item>
+    </style>
+
+    <style name="item_menu_tag">
+        <item name="android:ellipsize">end</item>
+        <item name="android:textSize">15sp</item>
+        <item name="android:textColor">@color/text_normal</item>
+        <item name="android:gravity">left|center_vertical</item>
+        <item name="android:layout_width">wrap_content</item>
+        <item name="android:layout_height">match_parent</item>
+        <item name="android:minWidth">90dp</item>
+        <item name="android:lines">1</item>
+        <item name="android:maxWidth">100dp</item>
+    </style>
+
+    <style name="item_menu_input">
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:ellipsize">end</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:layout_centerVertical">true</item>
+        <item name="android:layout_alignParentRight">true</item>
+        <item name="android:background">@null</item>
+        <item name="android:lines">1</item>
+        <item name="android:layout_marginLeft">10dp</item>
+        <item name="android:gravity">right|center_vertical</item>
+        <item name="android:maxWidth">290dp</item>
+        <item name="android:minHeight">35dp</item>
+        <item name="android:maxHeight">150dp</item>
+        <item name="android:padding">5dp</item>
+        <item name="android:width">160dp</item>
+        <item name="android:layout_marginTop">8dp</item>
+        <item name="android:layout_marginBottom">8dp</item>
+        <item name="android:textColorHint">@color/gray</item>
+        <item name="android:textSize">15sp</item>
+    </style>
     <!-- 日报详情总结、计划、心得内容显示样式-->
     <style name="form_relative_right_text1">
         <item name="android:layout_width">match_parent</item>