正在显示
100 个修改的文件
包含
1226 行增加
和
312 行删除
| @@ -16,7 +16,10 @@ android { | @@ -16,7 +16,10 @@ android { | ||
| 16 | } | 16 | } |
| 17 | buildTypes { | 17 | buildTypes { |
| 18 | release { | 18 | release { |
| 19 | + //是否混淆 | ||
| 19 | minifyEnabled false | 20 | minifyEnabled false |
| 21 | + zipAlignEnabled true | ||
| 22 | +// shrinkResources true//去除无用的resource文件,第一次使用 | ||
| 20 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' | 23 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' |
| 21 | } | 24 | } |
| 22 | } | 25 | } |
| @@ -32,7 +35,6 @@ dependencies { | @@ -32,7 +35,6 @@ dependencies { | ||
| 32 | androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { | 35 | androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { |
| 33 | exclude group: 'com.android.support', module: 'support-annotations' | 36 | exclude group: 'com.android.support', module: 'support-annotations' |
| 34 | }) | 37 | }) |
| 35 | - compile project(':xdy') | ||
| 36 | compile files('libs/pldroid-player-1.5.1.jar') | 38 | compile files('libs/pldroid-player-1.5.1.jar') |
| 37 | compile 'com.android.support:appcompat-v7:25.3.1' | 39 | compile 'com.android.support:appcompat-v7:25.3.1' |
| 38 | compile 'com.jakewharton:butterknife:8.5.1' | 40 | compile 'com.jakewharton:butterknife:8.5.1' |
| @@ -43,15 +45,16 @@ dependencies { | @@ -43,15 +45,16 @@ dependencies { | ||
| 43 | compile 'org.kymjs.kjframe:kjframe:2.6' | 45 | compile 'org.kymjs.kjframe:kjframe:2.6' |
| 44 | compile 'io.reactivex:rxjava:1.0.9' | 46 | compile 'io.reactivex:rxjava:1.0.9' |
| 45 | compile 'io.reactivex:rxandroid:0.24.0' | 47 | compile 'io.reactivex:rxandroid:0.24.0' |
| 46 | - compile 'com.squareup.retrofit:retrofit:1.9.0' | 48 | +// compile 'com.squareup.retrofit:retrofit:1.9.0' |
| 47 | compile 'com.nineoldandroids:library:2.4.0' | 49 | compile 'com.nineoldandroids:library:2.4.0' |
| 48 | compile 'me.yokeyword:fragmentation:0.10.3' | 50 | compile 'me.yokeyword:fragmentation:0.10.3' |
| 49 | compile 'com.qiniu:happy-dns:0.2.+' | 51 | compile 'com.qiniu:happy-dns:0.2.+' |
| 50 | - compile 'com.android.support:support-v4:25.3.1' | 52 | +// compile 'com.android.support:support-v4:25.3.1' |
| 51 | testCompile 'junit:junit:4.12' | 53 | testCompile 'junit:junit:4.12' |
| 52 | annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1' | 54 | annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1' |
| 53 | compile 'com.qiniu:happy-dns:0.2.+' | 55 | compile 'com.qiniu:happy-dns:0.2.+' |
| 54 | compile 'org.greenrobot:eventbus:3.0.0' | 56 | compile 'org.greenrobot:eventbus:3.0.0' |
| 55 | compile 'com.flyco.tablayout:FlycoTabLayout_Lib:2.1.2@aar' | 57 | compile 'com.flyco.tablayout:FlycoTabLayout_Lib:2.1.2@aar' |
| 56 | compile project(':iOS_Dialog_Library') | 58 | compile project(':iOS_Dialog_Library') |
| 59 | + compile project(':xdy') | ||
| 57 | } | 60 | } |
| @@ -15,3 +15,10 @@ | @@ -15,3 +15,10 @@ | ||
| 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { | 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { |
| 16 | # public *; | 16 | # public *; |
| 17 | #} | 17 | #} |
| 18 | + | ||
| 19 | +-keep class com.eventhandle.**{*;} | ||
| 20 | +-keep class com.ntjbase.**{*;} | ||
| 21 | +-keep class com.videoengine.**{*;} | ||
| 22 | +-keep class com.voiceengine.**{*;} | ||
| 23 | + | ||
| 24 | +-keep class com.mang.xdy.**{*;} |
| 1 | <?xml version="1.0" encoding="utf-8"?> | 1 | <?xml version="1.0" encoding="utf-8"?> |
| 2 | <manifest xmlns:android="http://schemas.android.com/apk/res/android" | 2 | <manifest xmlns:android="http://schemas.android.com/apk/res/android" |
| 3 | - package="com.mang.xdy.demo"> | 3 | + package="com.mang.xuedianyun.android"> |
| 4 | <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> | 4 | <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> |
| 5 | <uses-permission android:name="android.permission.READ_PHONE_STATE" /> | 5 | <uses-permission android:name="android.permission.READ_PHONE_STATE" /> |
| 6 | <uses-permission android:name="android.permission.INTERNET" /> | 6 | <uses-permission android:name="android.permission.INTERNET" /> |
| @@ -36,13 +36,13 @@ | @@ -36,13 +36,13 @@ | ||
| 36 | 36 | ||
| 37 | 37 | ||
| 38 | <application | 38 | <application |
| 39 | - android:name=".application.XdyApplicaiton" | 39 | + android:name="com.mang.xuedianyun.android.application.XdyApplicaiton" |
| 40 | android:allowBackup="true" | 40 | android:allowBackup="true" |
| 41 | android:icon="@mipmap/logo" | 41 | android:icon="@mipmap/logo" |
| 42 | android:label="@string/app_name" | 42 | android:label="@string/app_name" |
| 43 | android:supportsRtl="true" | 43 | android:supportsRtl="true" |
| 44 | android:theme="@style/AppTheme"> | 44 | android:theme="@style/AppTheme"> |
| 45 | - <activity android:name=".MainActivity" | 45 | + <activity android:name="com.mang.xuedianyun.android.MainActivity" |
| 46 | android:windowSoftInputMode="adjustPan|stateHidden" | 46 | android:windowSoftInputMode="adjustPan|stateHidden" |
| 47 | android:screenOrientation="portrait"> | 47 | android:screenOrientation="portrait"> |
| 48 | <intent-filter> | 48 | <intent-filter> |
| @@ -51,10 +51,9 @@ | @@ -51,10 +51,9 @@ | ||
| 51 | <category android:name="android.intent.category.LAUNCHER" /> | 51 | <category android:name="android.intent.category.LAUNCHER" /> |
| 52 | </intent-filter> | 52 | </intent-filter> |
| 53 | </activity> | 53 | </activity> |
| 54 | - <activity android:name=".activity.VideoPlayActivity" | 54 | + <activity android:name="com.mang.xuedianyun.android.activity.VideoPlayActivity" |
| 55 | android:configChanges="keyboardHidden|orientation|screenSize" | 55 | android:configChanges="keyboardHidden|orientation|screenSize" |
| 56 | android:screenOrientation="portrait" | 56 | android:screenOrientation="portrait" |
| 57 | - android:windowSoftInputMode="adjustPan|stateHidden" | ||
| 58 | > | 57 | > |
| 59 | </activity> | 58 | </activity> |
| 60 | </application> | 59 | </application> |
| 1 | -package com.mang.xdy.demo; | ||
| 2 | - | ||
| 3 | -import android.content.Context; | ||
| 4 | -import android.content.Intent; | ||
| 5 | -import android.content.res.Configuration; | ||
| 6 | -import android.os.Bundle; | ||
| 7 | -import android.support.v7.app.AppCompatActivity; | ||
| 8 | -import android.text.TextUtils; | ||
| 9 | -import android.view.View; | ||
| 10 | -import android.widget.Button; | ||
| 11 | -import android.widget.EditText; | ||
| 12 | -import android.widget.RelativeLayout; | ||
| 13 | - | ||
| 14 | -import com.google.gson.Gson; | ||
| 15 | - | ||
| 16 | -import com.mang.xdy.demo.activity.VideoPlayActivity; | ||
| 17 | -import com.mang.xdy.demo.bean.JoinClassBean; | ||
| 18 | -import com.mang.xdy.demo.utils.ToastUtil; | ||
| 19 | - | ||
| 20 | -import java.util.ArrayList; | ||
| 21 | - | ||
| 22 | -import butterknife.BindView; | ||
| 23 | -import butterknife.ButterKnife; | ||
| 24 | -import butterknife.OnClick; | ||
| 25 | - | ||
| 26 | -public class MainActivity extends AppCompatActivity { | ||
| 27 | - | ||
| 28 | - @BindView(R.id.edt_home_classId) | ||
| 29 | - EditText edtHomeClassId; | ||
| 30 | - @BindView(R.id.edt_home_role) | ||
| 31 | - EditText edtHomeRole; | ||
| 32 | - @BindView(R.id.edt_home_serviceIp) | ||
| 33 | - EditText edtHomeServiceIp; | ||
| 34 | - @BindView(R.id.edt_home_userId) | ||
| 35 | - EditText edtHomeUserId; | ||
| 36 | - @BindView(R.id.btn_home_enter_class) | ||
| 37 | - Button btnHomeEnterClass; | ||
| 38 | - @BindView(R.id.btn_home_enter_publisher) | ||
| 39 | - Button btn_home_enter_publisher; | ||
| 40 | - @BindView(R.id.rl_home_close) | ||
| 41 | - RelativeLayout rl_home_close; | ||
| 42 | - /*一进来就要初始化,让后再调 加入课堂*/ | ||
| 43 | - @Override | ||
| 44 | - protected void onCreate(Bundle savedInstanceState) { | ||
| 45 | - super.onCreate(savedInstanceState); | ||
| 46 | - setContentView(R.layout.activity_main); | ||
| 47 | - ButterKnife.bind(this); | ||
| 48 | - rl_home_close.setOnClickListener(new View.OnClickListener() { | ||
| 49 | - @Override | ||
| 50 | - public void onClick(View v) { | ||
| 51 | - finish(); | ||
| 52 | - } | ||
| 53 | - }); | ||
| 54 | - } | ||
| 55 | - | ||
| 56 | - @OnClick({R.id.btn_home_enter_class,R.id.btn_home_enter_publisher}) | ||
| 57 | - public void onViewClicked(View view) { | ||
| 58 | - if(TextUtils.isEmpty(joinClass())){ | ||
| 59 | - return; | ||
| 60 | - } | ||
| 61 | - ArrayList<String> arrayList=new ArrayList<>(); | ||
| 62 | - switch (view.getId()){ | ||
| 63 | - | ||
| 64 | - case R.id.btn_home_enter_class: | ||
| 65 | - Intent intent=new Intent(MainActivity.this, VideoPlayActivity.class); | ||
| 66 | - arrayList.clear(); | ||
| 67 | - arrayList.add(joinClass()); | ||
| 68 | - arrayList.add("normal"); | ||
| 69 | - intent.putStringArrayListExtra("init",arrayList); | ||
| 70 | - startActivity(intent); | ||
| 71 | - break; | ||
| 72 | - case R.id.btn_home_enter_publisher: | ||
| 73 | - Intent intents=new Intent(MainActivity.this, VideoPlayActivity.class); | ||
| 74 | - arrayList.clear(); | ||
| 75 | - arrayList.add(joinClass()); | ||
| 76 | - arrayList.add(""); | ||
| 77 | - intents.putStringArrayListExtra("init",arrayList); | ||
| 78 | - startActivity(intents); | ||
| 79 | - break; | ||
| 80 | - | ||
| 81 | - } | ||
| 82 | - } | ||
| 83 | - private String classId=""; | ||
| 84 | - private String userRole=""; | ||
| 85 | - private String serviceIp=""; | ||
| 86 | - private String userId=""; | ||
| 87 | - public boolean getLoginInfo(){ | ||
| 88 | - classId=edtHomeClassId.getText().toString(); | ||
| 89 | - userRole=edtHomeRole.getText().toString(); | ||
| 90 | - serviceIp=edtHomeServiceIp.getText().toString(); | ||
| 91 | - userId=edtHomeUserId.getText().toString(); | ||
| 92 | - if(TextUtils.isEmpty(classId)){ | ||
| 93 | - ToastUtil.showToast(getResources().getString(R.string.main_login_error_classId),this); | ||
| 94 | - return false; | ||
| 95 | - } | ||
| 96 | - if(TextUtils.isEmpty(serviceIp)){ | ||
| 97 | - ToastUtil.showToast(getResources().getString(R.string.main_login_error_portal),this); | ||
| 98 | - return false; | ||
| 99 | - } | ||
| 100 | - if(TextUtils.isEmpty(userRole)){ | ||
| 101 | - ToastUtil.showToast(getResources().getString(R.string.main_login_error_role),this); | ||
| 102 | - return false; | ||
| 103 | - } | ||
| 104 | - if(TextUtils.isEmpty(userId)){ | ||
| 105 | - ToastUtil.showToast(getResources().getString(R.string.main_login_error_userId),this); | ||
| 106 | - return false; | ||
| 107 | - } | ||
| 108 | - return true; | ||
| 109 | - } | ||
| 110 | - public String joinClass(){ | ||
| 111 | - if(getLoginInfo()) { | ||
| 112 | - JoinClassBean joinClassBean = new JoinClassBean(); | ||
| 113 | - joinClassBean.setClassId(Integer.parseInt(classId)); | ||
| 114 | - joinClassBean.setUserRole(userRole); | ||
| 115 | - joinClassBean.setPortal(serviceIp); | ||
| 116 | - joinClassBean.setUserId(Integer.parseInt(userId)); | ||
| 117 | - joinClassBean.setUserName(""); | ||
| 118 | - String joinclass = new Gson().toJson(joinClassBean); | ||
| 119 | -// XdyLogUtil.e("init 初始化", joinclass); | ||
| 120 | - return joinclass; | ||
| 121 | - }else{ | ||
| 122 | - return ""; | ||
| 123 | - } | ||
| 124 | - | ||
| 125 | - } | ||
| 126 | - | ||
| 127 | - | ||
| 128 | - | ||
| 129 | -} | 1 | +package com.mang.xuedianyun.android; |
| 2 | + | ||
| 3 | +import android.content.Intent; | ||
| 4 | +import android.os.Bundle; | ||
| 5 | +import android.support.v7.app.AppCompatActivity; | ||
| 6 | +import android.text.TextUtils; | ||
| 7 | +import android.view.View; | ||
| 8 | +import android.widget.Button; | ||
| 9 | +import android.widget.EditText; | ||
| 10 | +import android.widget.RelativeLayout; | ||
| 11 | + | ||
| 12 | +import com.google.gson.Gson; | ||
| 13 | + | ||
| 14 | +import com.mang.xuedianyun.android.activity.VideoPlayActivity; | ||
| 15 | +import com.mang.xuedianyun.android.bean.JoinClassBean; | ||
| 16 | +import com.mang.xuedianyun.android.utils.ToastUtil; | ||
| 17 | + | ||
| 18 | +import java.util.ArrayList; | ||
| 19 | + | ||
| 20 | +import butterknife.BindView; | ||
| 21 | +import butterknife.ButterKnife; | ||
| 22 | +import butterknife.OnClick; | ||
| 23 | + | ||
| 24 | +public class MainActivity extends AppCompatActivity { | ||
| 25 | + | ||
| 26 | + @BindView(R.id.edt_home_classId) | ||
| 27 | + EditText edtHomeClassId; | ||
| 28 | + @BindView(R.id.edt_home_role) | ||
| 29 | + EditText edtHomeRole; | ||
| 30 | + @BindView(R.id.edt_home_serviceIp) | ||
| 31 | + EditText edtHomeServiceIp; | ||
| 32 | + @BindView(R.id.edt_home_userId) | ||
| 33 | + EditText edtHomeUserId; | ||
| 34 | + @BindView(R.id.btn_home_enter_class) | ||
| 35 | + Button btnHomeEnterClass; | ||
| 36 | + @BindView(R.id.btn_home_enter_publisher) | ||
| 37 | + Button btn_home_enter_publisher; | ||
| 38 | + @BindView(R.id.rl_home_close) | ||
| 39 | + RelativeLayout rl_home_close; | ||
| 40 | + /*一进来就要初始化,让后再调 加入课堂*/ | ||
| 41 | + @Override | ||
| 42 | + protected void onCreate(Bundle savedInstanceState) { | ||
| 43 | + super.onCreate(savedInstanceState); | ||
| 44 | + setContentView(R.layout.activity_main); | ||
| 45 | + ButterKnife.bind(this); | ||
| 46 | + rl_home_close.setOnClickListener(new View.OnClickListener() { | ||
| 47 | + @Override | ||
| 48 | + public void onClick(View v) { | ||
| 49 | + finish(); | ||
| 50 | + } | ||
| 51 | + }); | ||
| 52 | + } | ||
| 53 | + | ||
| 54 | + @OnClick({R.id.btn_home_enter_class,R.id.btn_home_enter_publisher}) | ||
| 55 | + public void onViewClicked(View view) { | ||
| 56 | + if(TextUtils.isEmpty(joinClass())){ | ||
| 57 | + return; | ||
| 58 | + } | ||
| 59 | + ArrayList<String> arrayList=new ArrayList<>(); | ||
| 60 | + switch (view.getId()){ | ||
| 61 | + | ||
| 62 | + case R.id.btn_home_enter_class: | ||
| 63 | + Intent intent=new Intent(MainActivity.this, VideoPlayActivity.class); | ||
| 64 | + arrayList.clear(); | ||
| 65 | + arrayList.add(joinClass()); | ||
| 66 | + arrayList.add("normal"); | ||
| 67 | + intent.putStringArrayListExtra("init",arrayList); | ||
| 68 | + startActivity(intent); | ||
| 69 | + break; | ||
| 70 | + case R.id.btn_home_enter_publisher: | ||
| 71 | + Intent intents=new Intent(MainActivity.this, VideoPlayActivity.class); | ||
| 72 | + arrayList.clear(); | ||
| 73 | + arrayList.add(joinClass()); | ||
| 74 | + arrayList.add(""); | ||
| 75 | + intents.putStringArrayListExtra("init",arrayList); | ||
| 76 | + startActivity(intents); | ||
| 77 | + break; | ||
| 78 | + | ||
| 79 | + } | ||
| 80 | + } | ||
| 81 | + private String classId=""; | ||
| 82 | + private String userRole=""; | ||
| 83 | + private String serviceIp=""; | ||
| 84 | + private String userId=""; | ||
| 85 | + public boolean getLoginInfo(){ | ||
| 86 | + classId=edtHomeClassId.getText().toString(); | ||
| 87 | + userRole=edtHomeRole.getText().toString(); | ||
| 88 | + serviceIp=edtHomeServiceIp.getText().toString(); | ||
| 89 | + userId=edtHomeUserId.getText().toString(); | ||
| 90 | + if(TextUtils.isEmpty(classId)){ | ||
| 91 | + ToastUtil.showToast(getResources().getString(R.string.main_login_error_classId),this); | ||
| 92 | + return false; | ||
| 93 | + } | ||
| 94 | + if(TextUtils.isEmpty(serviceIp)){ | ||
| 95 | + ToastUtil.showToast(getResources().getString(R.string.main_login_error_portal),this); | ||
| 96 | + return false; | ||
| 97 | + } | ||
| 98 | + if(TextUtils.isEmpty(userRole)){ | ||
| 99 | + ToastUtil.showToast(getResources().getString(R.string.main_login_error_role),this); | ||
| 100 | + return false; | ||
| 101 | + } | ||
| 102 | + if(TextUtils.isEmpty(userId)){ | ||
| 103 | + ToastUtil.showToast(getResources().getString(R.string.main_login_error_userId),this); | ||
| 104 | + return false; | ||
| 105 | + } | ||
| 106 | + return true; | ||
| 107 | + } | ||
| 108 | + public String joinClass(){ | ||
| 109 | + if(getLoginInfo()) { | ||
| 110 | + JoinClassBean joinClassBean = new JoinClassBean(); | ||
| 111 | + joinClassBean.setClassId(Integer.parseInt(classId)); | ||
| 112 | + joinClassBean.setUserRole(userRole); | ||
| 113 | + joinClassBean.setPortal(serviceIp); | ||
| 114 | + joinClassBean.setUserId(Integer.parseInt(userId)); | ||
| 115 | + joinClassBean.setUserName(""); | ||
| 116 | + String joinclass = new Gson().toJson(joinClassBean); | ||
| 117 | +// XdyLogUtil.e("init 初始化", joinclass); | ||
| 118 | + return joinclass; | ||
| 119 | + }else{ | ||
| 120 | + return ""; | ||
| 121 | + } | ||
| 122 | + | ||
| 123 | + } | ||
| 124 | + | ||
| 125 | + | ||
| 126 | + | ||
| 127 | +} |
| @@ -13,7 +13,7 @@ | @@ -13,7 +13,7 @@ | ||
| 13 | * See the License for the specific language governing permissions and | 13 | * See the License for the specific language governing permissions and |
| 14 | * limitations under the License. | 14 | * limitations under the License. |
| 15 | */ | 15 | */ |
| 16 | -package com.mang.xdy.demo.adapter; | 16 | +package com.mang.xuedianyun.android.adapter; |
| 17 | 17 | ||
| 18 | import android.content.Context; | 18 | import android.content.Context; |
| 19 | import android.text.TextUtils; | 19 | import android.text.TextUtils; |
| @@ -28,12 +28,12 @@ import android.widget.TextView; | @@ -28,12 +28,12 @@ import android.widget.TextView; | ||
| 28 | 28 | ||
| 29 | import com.mang.xdy.common.Constants; | 29 | import com.mang.xdy.common.Constants; |
| 30 | import com.mang.xdy.utils.SPUtil; | 30 | import com.mang.xdy.utils.SPUtil; |
| 31 | -import com.mang.xdy.demo.R; | ||
| 32 | -import com.mang.xdy.demo.bean.JoinClassSuccessEntity; | ||
| 33 | -import com.mang.xdy.demo.bean.Message; | ||
| 34 | -import com.mang.xdy.demo.fragment.ChatFragment; | ||
| 35 | -import com.mang.xdy.demo.utils.JsonUtil; | ||
| 36 | -import com.mang.xdy.demo.widget.chat.UrlUtils; | 31 | +import com.mang.xuedianyun.android.R; |
| 32 | +import com.mang.xuedianyun.android.bean.JoinClassSuccessEntity; | ||
| 33 | +import com.mang.xuedianyun.android.bean.Message; | ||
| 34 | +import com.mang.xuedianyun.android.fragment.ChatFragment; | ||
| 35 | +import com.mang.xuedianyun.android.utils.JsonUtil; | ||
| 36 | +import com.mang.xuedianyun.android.widget.chat.UrlUtils; | ||
| 37 | 37 | ||
| 38 | import org.kymjs.kjframe.KJBitmap; | 38 | import org.kymjs.kjframe.KJBitmap; |
| 39 | 39 |
| @@ -13,14 +13,14 @@ | @@ -13,14 +13,14 @@ | ||
| 13 | * See the License for the specific language governing permissions and | 13 | * See the License for the specific language governing permissions and |
| 14 | * limitations under the License. | 14 | * limitations under the License. |
| 15 | */ | 15 | */ |
| 16 | -package com.mang.xdy.demo.adapter; | 16 | +package com.mang.xuedianyun.android.adapter; |
| 17 | 17 | ||
| 18 | import android.widget.AbsListView; | 18 | import android.widget.AbsListView; |
| 19 | import android.widget.ImageView; | 19 | import android.widget.ImageView; |
| 20 | 20 | ||
| 21 | 21 | ||
| 22 | -import com.mang.xdy.demo.R; | ||
| 23 | -import com.mang.xdy.demo.bean.Faceicon; | 22 | +import com.mang.xuedianyun.android.R; |
| 23 | +import com.mang.xuedianyun.android.bean.Faceicon; | ||
| 24 | 24 | ||
| 25 | import org.kymjs.kjframe.KJBitmap; | 25 | import org.kymjs.kjframe.KJBitmap; |
| 26 | import org.kymjs.kjframe.widget.AdapterHolder; | 26 | import org.kymjs.kjframe.widget.AdapterHolder; |
| @@ -13,7 +13,7 @@ | @@ -13,7 +13,7 @@ | ||
| 13 | * See the License for the specific language governing permissions and | 13 | * See the License for the specific language governing permissions and |
| 14 | * limitations under the License. | 14 | * limitations under the License. |
| 15 | */ | 15 | */ |
| 16 | -package com.mang.xdy.demo.adapter; | 16 | +package com.mang.xuedianyun.android.adapter; |
| 17 | 17 | ||
| 18 | import android.graphics.Bitmap; | 18 | import android.graphics.Bitmap; |
| 19 | import android.os.Bundle; | 19 | import android.os.Bundle; |
| @@ -23,13 +23,13 @@ import android.support.v4.app.FragmentStatePagerAdapter; | @@ -23,13 +23,13 @@ import android.support.v4.app.FragmentStatePagerAdapter; | ||
| 23 | import android.widget.ImageView; | 23 | import android.widget.ImageView; |
| 24 | 24 | ||
| 25 | 25 | ||
| 26 | -import com.mang.xdy.demo.R; | ||
| 27 | -import com.mang.xdy.demo.widget.chat.ChatFunctionFragment; | ||
| 28 | -import com.mang.xdy.demo.widget.chat.FacePageFragment; | ||
| 29 | -import com.mang.xdy.demo.widget.chat.KJChatKeyboard; | ||
| 30 | -import com.mang.xdy.demo.widget.chat.OnOperationListener; | ||
| 31 | -import com.mang.xdy.demo.widget.chat.PagerSlidingTabStrip; | ||
| 32 | -import com.mang.xdy.demo.widget.emoji.EmojiPageFragment; | 26 | +import com.mang.xuedianyun.android.R; |
| 27 | +import com.mang.xuedianyun.android.widget.chat.ChatFunctionFragment; | ||
| 28 | +import com.mang.xuedianyun.android.widget.chat.FacePageFragment; | ||
| 29 | +import com.mang.xuedianyun.android.widget.chat.KJChatKeyboard; | ||
| 30 | +import com.mang.xuedianyun.android.widget.chat.OnOperationListener; | ||
| 31 | +import com.mang.xuedianyun.android.widget.chat.PagerSlidingTabStrip; | ||
| 32 | +import com.mang.xuedianyun.android.widget.emoji.EmojiPageFragment; | ||
| 33 | 33 | ||
| 34 | import org.kymjs.kjframe.bitmap.BitmapCreate; | 34 | import org.kymjs.kjframe.bitmap.BitmapCreate; |
| 35 | 35 |
| 1 | -package com.mang.xdy.demo.adapter; | 1 | +package com.mang.xuedianyun.android.adapter; |
| 2 | 2 | ||
| 3 | /** | 3 | /** |
| 4 | * Created by huang on 2017/4/9. | 4 | * Created by huang on 2017/4/9. |
| @@ -9,9 +9,8 @@ import android.support.v4.app.Fragment; | @@ -9,9 +9,8 @@ import android.support.v4.app.Fragment; | ||
| 9 | import android.support.v4.app.FragmentManager; | 9 | import android.support.v4.app.FragmentManager; |
| 10 | import android.support.v4.app.FragmentPagerAdapter; | 10 | import android.support.v4.app.FragmentPagerAdapter; |
| 11 | 11 | ||
| 12 | -import com.mang.xdy.demo.fragment.ChatFragment; | ||
| 13 | -import com.mang.xdy.demo.fragment.DocFragment; | ||
| 14 | -import com.mang.xdy.demo.fragment.PageFragment; | 12 | +import com.mang.xuedianyun.android.fragment.ChatFragment; |
| 13 | +import com.mang.xuedianyun.android.fragment.DocFragment; | ||
| 15 | 14 | ||
| 16 | import java.util.ArrayList; | 15 | import java.util.ArrayList; |
| 17 | import java.util.List; | 16 | import java.util.List; |
| 1 | -package com.mang.xdy.demo.application; | 1 | +package com.mang.xuedianyun.android.application; |
| 2 | 2 | ||
| 3 | import android.app.Activity; | 3 | import android.app.Activity; |
| 4 | import android.app.Application; | 4 | import android.app.Application; |
| 5 | import android.content.Context; | 5 | import android.content.Context; |
| 6 | 6 | ||
| 7 | import com.mang.xdy.core.XdySdk; | 7 | import com.mang.xdy.core.XdySdk; |
| 8 | -import com.mang.xdy.demo.utils.ResUtil; | 8 | +import com.mang.xuedianyun.android.utils.ResUtil; |
| 9 | 9 | ||
| 10 | /** | 10 | /** |
| 11 | * Created by abao on 2017/3/30. | 11 | * Created by abao on 2017/3/30. |
| @@ -13,7 +13,7 @@ | @@ -13,7 +13,7 @@ | ||
| 13 | * See the License for the specific language governing permissions and | 13 | * See the License for the specific language governing permissions and |
| 14 | * limitations under the License. | 14 | * limitations under the License. |
| 15 | */ | 15 | */ |
| 16 | -package com.mang.xdy.demo.bean; | 16 | +package com.mang.xuedianyun.android.bean; |
| 17 | 17 | ||
| 18 | import java.io.Serializable; | 18 | import java.io.Serializable; |
| 19 | 19 |
| @@ -13,7 +13,7 @@ | @@ -13,7 +13,7 @@ | ||
| 13 | * See the License for the specific language governing permissions and | 13 | * See the License for the specific language governing permissions and |
| 14 | * limitations under the License. | 14 | * limitations under the License. |
| 15 | */ | 15 | */ |
| 16 | -package com.mang.xdy.demo.bean; | 16 | +package com.mang.xuedianyun.android.bean; |
| 17 | 17 | ||
| 18 | /** | 18 | /** |
| 19 | * 聊天消息javabean | 19 | * 聊天消息javabean |
| 1 | -package com.mang.xdy.demo.dialog; | 1 | +package com.mang.xuedianyun.android.dialog; |
| 2 | 2 | ||
| 3 | import android.app.Dialog; | 3 | import android.app.Dialog; |
| 4 | import android.content.Context; | 4 | import android.content.Context; |
| @@ -15,7 +15,7 @@ import android.view.Window; | @@ -15,7 +15,7 @@ import android.view.Window; | ||
| 15 | import android.view.WindowManager.LayoutParams; | 15 | import android.view.WindowManager.LayoutParams; |
| 16 | import android.widget.LinearLayout; | 16 | import android.widget.LinearLayout; |
| 17 | 17 | ||
| 18 | -import com.mang.xdy.demo.utils.DisplayUtil; | 18 | +import com.mang.xuedianyun.android.utils.DisplayUtil; |
| 19 | import com.nineoldandroids.animation.Animator; | 19 | import com.nineoldandroids.animation.Animator; |
| 20 | 20 | ||
| 21 | import java.lang.ref.WeakReference; | 21 | import java.lang.ref.WeakReference; |
| 1 | -package com.mang.xdy.demo.dialog; | 1 | +package com.mang.xuedianyun.android.dialog; |
| 2 | 2 | ||
| 3 | import android.content.Context; | 3 | import android.content.Context; |
| 4 | import android.graphics.Color; | 4 | import android.graphics.Color; |
| @@ -9,7 +9,7 @@ import android.view.View; | @@ -9,7 +9,7 @@ import android.view.View; | ||
| 9 | import android.widget.LinearLayout; | 9 | import android.widget.LinearLayout; |
| 10 | import android.widget.TextView; | 10 | import android.widget.TextView; |
| 11 | 11 | ||
| 12 | -import com.mang.xdy.demo.R; | 12 | +import com.mang.xuedianyun.android.R; |
| 13 | 13 | ||
| 14 | 14 | ||
| 15 | public class NormalDialog extends BaseDialog { | 15 | public class NormalDialog extends BaseDialog { |
| 1 | -package com.mang.xdy.demo.dialog; | 1 | +package com.mang.xuedianyun.android.dialog; |
| 2 | 2 | ||
| 3 | import android.content.Context; | 3 | import android.content.Context; |
| 4 | import android.graphics.Color; | 4 | import android.graphics.Color; |
| @@ -9,7 +9,7 @@ import android.view.View; | @@ -9,7 +9,7 @@ import android.view.View; | ||
| 9 | import android.widget.LinearLayout; | 9 | import android.widget.LinearLayout; |
| 10 | import android.widget.TextView; | 10 | import android.widget.TextView; |
| 11 | 11 | ||
| 12 | -import com.mang.xdy.demo.R; | 12 | +import com.mang.xuedianyun.android.R; |
| 13 | 13 | ||
| 14 | 14 | ||
| 15 | /** | 15 | /** |
| 1 | -package com.mang.xdy.demo.fragment; | 1 | +package com.mang.xuedianyun.android.fragment; |
| 2 | 2 | ||
| 3 | import android.content.Context; | 3 | import android.content.Context; |
| 4 | import android.os.Bundle; | 4 | import android.os.Bundle; |
| @@ -18,17 +18,17 @@ import com.google.gson.Gson; | @@ -18,17 +18,17 @@ import com.google.gson.Gson; | ||
| 18 | import com.mang.xdy.common.Constants; | 18 | import com.mang.xdy.common.Constants; |
| 19 | import com.mang.xdy.utils.SPUtil; | 19 | import com.mang.xdy.utils.SPUtil; |
| 20 | import com.mang.xdy.core.XdySdk; | 20 | import com.mang.xdy.core.XdySdk; |
| 21 | -import com.mang.xdy.demo.R; | ||
| 22 | -import com.mang.xdy.demo.adapter.ChatAdapter; | ||
| 23 | -import com.mang.xdy.demo.bean.ChatMsgEntity; | ||
| 24 | -import com.mang.xdy.demo.bean.Faceicon; | ||
| 25 | -import com.mang.xdy.demo.bean.JoinClassSuccessEntity; | ||
| 26 | -import com.mang.xdy.demo.bean.Message; | ||
| 27 | -import com.mang.xdy.demo.bean.SendChatMsgEntity; | ||
| 28 | -import com.mang.xdy.demo.utils.JsonUtil; | ||
| 29 | -import com.mang.xdy.demo.widget.chat.KJChatKeyboard; | ||
| 30 | -import com.mang.xdy.demo.widget.chat.OnOperationListener; | ||
| 31 | -import com.mang.xdy.demo.widget.emoji.DisplayRules; | 21 | +import com.mang.xuedianyun.android.R; |
| 22 | +import com.mang.xuedianyun.android.adapter.ChatAdapter; | ||
| 23 | +import com.mang.xuedianyun.android.bean.ChatMsgEntity; | ||
| 24 | +import com.mang.xuedianyun.android.bean.Faceicon; | ||
| 25 | +import com.mang.xuedianyun.android.bean.JoinClassSuccessEntity; | ||
| 26 | +import com.mang.xuedianyun.android.bean.Message; | ||
| 27 | +import com.mang.xuedianyun.android.bean.SendChatMsgEntity; | ||
| 28 | +import com.mang.xuedianyun.android.utils.JsonUtil; | ||
| 29 | +import com.mang.xuedianyun.android.widget.chat.KJChatKeyboard; | ||
| 30 | +import com.mang.xuedianyun.android.widget.chat.OnOperationListener; | ||
| 31 | +import com.mang.xuedianyun.android.widget.emoji.DisplayRules; | ||
| 32 | import com.mang.xdy.listener.ObserverListener; | 32 | import com.mang.xdy.listener.ObserverListener; |
| 33 | import com.mang.xdy.utils.XdyLogUtil; | 33 | import com.mang.xdy.utils.XdyLogUtil; |
| 34 | 34 |
| 1 | -package com.mang.xdy.demo.fragment; | 1 | +package com.mang.xuedianyun.android.fragment; |
| 2 | 2 | ||
| 3 | import android.content.Context; | 3 | import android.content.Context; |
| 4 | import android.graphics.Bitmap; | 4 | import android.graphics.Bitmap; |
| @@ -11,21 +11,20 @@ import android.support.v4.app.Fragment; | @@ -11,21 +11,20 @@ import android.support.v4.app.Fragment; | ||
| 11 | import android.text.TextUtils; | 11 | import android.text.TextUtils; |
| 12 | import android.util.DisplayMetrics; | 12 | import android.util.DisplayMetrics; |
| 13 | import android.view.LayoutInflater; | 13 | import android.view.LayoutInflater; |
| 14 | -import android.view.SurfaceView; | ||
| 15 | import android.view.View; | 14 | import android.view.View; |
| 16 | import android.view.ViewGroup; | 15 | import android.view.ViewGroup; |
| 17 | 16 | ||
| 18 | import com.bumptech.glide.Glide; | 17 | import com.bumptech.glide.Glide; |
| 19 | import com.mang.xdy.common.Constants; | 18 | import com.mang.xdy.common.Constants; |
| 20 | import com.mang.xdy.core.XdySdk; | 19 | import com.mang.xdy.core.XdySdk; |
| 21 | -import com.mang.xdy.demo.R; | ||
| 22 | -import com.mang.xdy.demo.base.BaseRunnable; | ||
| 23 | -import com.mang.xdy.demo.bean.DocEntity; | ||
| 24 | -import com.mang.xdy.demo.bean.WhiteboardUpdateEntity; | ||
| 25 | -import com.mang.xdy.demo.bean.WrapDocBitMapEntity; | ||
| 26 | -import com.mang.xdy.demo.utils.JsonUtil; | ||
| 27 | -import com.mang.xdy.demo.utils.ToastUtil; | ||
| 28 | -import com.mang.xdy.demo.widget.CanvasView; | 20 | +import com.mang.xuedianyun.android.R; |
| 21 | +import com.mang.xuedianyun.android.base.BaseRunnable; | ||
| 22 | +import com.mang.xuedianyun.android.bean.DocEntity; | ||
| 23 | +import com.mang.xuedianyun.android.bean.WhiteboardUpdateEntity; | ||
| 24 | +import com.mang.xuedianyun.android.bean.WrapDocBitMapEntity; | ||
| 25 | +import com.mang.xuedianyun.android.utils.JsonUtil; | ||
| 26 | +import com.mang.xuedianyun.android.utils.ToastUtil; | ||
| 27 | +import com.mang.xuedianyun.android.widget.CanvasView; | ||
| 29 | import com.mang.xdy.listener.ObserverListener; | 28 | import com.mang.xdy.listener.ObserverListener; |
| 30 | import com.mang.xdy.utils.XdyLogUtil; | 29 | import com.mang.xdy.utils.XdyLogUtil; |
| 31 | 30 | ||
| @@ -85,7 +84,7 @@ public class DocFragment extends Fragment implements ObserverListener{ | @@ -85,7 +84,7 @@ public class DocFragment extends Fragment implements ObserverListener{ | ||
| 85 | @Override | 84 | @Override |
| 86 | public void handleMessage(Message msg) { | 85 | public void handleMessage(Message msg) { |
| 87 | super.handleMessage(msg); | 86 | super.handleMessage(msg); |
| 88 | - ToastUtil.showToastshort("图片加载失败",mContext); | 87 | + ToastUtil.showToastshort(getResources().getString(R.string.imge_load_error),mContext); |
| 89 | } | 88 | } |
| 90 | }; | 89 | }; |
| 91 | 90 | ||
| @@ -99,17 +98,15 @@ public class DocFragment extends Fragment implements ObserverListener{ | @@ -99,17 +98,15 @@ public class DocFragment extends Fragment implements ObserverListener{ | ||
| 99 | 98 | ||
| 100 | 99 | ||
| 101 | public void init(){ | 100 | public void init(){ |
| 102 | - | ||
| 103 | Bundle arguments = getArguments(); | 101 | Bundle arguments = getArguments(); |
| 104 | if(arguments!=null) | 102 | if(arguments!=null) |
| 105 | replay = arguments.getBoolean("replay"); | 103 | replay = arguments.getBoolean("replay"); |
| 106 | DisplayMetrics metric = new DisplayMetrics(); | 104 | DisplayMetrics metric = new DisplayMetrics(); |
| 107 | getWindowWith(metric); | 105 | getWindowWith(metric); |
| 108 | docUrlTransformBitmap(null); | 106 | docUrlTransformBitmap(null); |
| 109 | -// mCanvasView.setZOrderMediaOverlay(false); | ||
| 110 | -// mCanvasView.setZOrderOnTop(false); | ||
| 111 | -//// mCanvasView.getHolder().setFormat(SurfaceView.TRANSPARENT); | ||
| 112 | -// mCanvasView.getHolder().setFormat(SurfaceView.TRANSPARENT); | 107 | + if(replay) { |
| 108 | + mCanvasView.setZOrderMediaOverlay(true); | ||
| 109 | + } | ||
| 113 | } | 110 | } |
| 114 | 111 | ||
| 115 | private void getWindowWith(DisplayMetrics metric) { | 112 | private void getWindowWith(DisplayMetrics metric) { |
| @@ -237,7 +234,7 @@ public class DocFragment extends Fragment implements ObserverListener{ | @@ -237,7 +234,7 @@ public class DocFragment extends Fragment implements ObserverListener{ | ||
| 237 | public void call(WrapDocBitMapEntity resource) { | 234 | public void call(WrapDocBitMapEntity resource) { |
| 238 | 235 | ||
| 239 | if (resource.getBitmap() == null) { | 236 | if (resource.getBitmap() == null) { |
| 240 | - ToastUtil.showToastshort("图片获取失败",mContext); | 237 | + ToastUtil.showToastshort(getResources().getString(R.string.imge_load_error),mContext); |
| 241 | Bitmap bitmap = getEmptyBitmap(); | 238 | Bitmap bitmap = getEmptyBitmap(); |
| 242 | mCanvasView.setBitmap(bitmap, false); | 239 | mCanvasView.setBitmap(bitmap, false); |
| 243 | } else { | 240 | } else { |
| 1 | -package com.mang.xdy.demo.fragment; | 1 | +package com.mang.xuedianyun.android.fragment; |
| 2 | 2 | ||
| 3 | 3 | ||
| 4 | import android.os.Bundle; | 4 | import android.os.Bundle; |
| @@ -9,7 +9,7 @@ import android.view.View; | @@ -9,7 +9,7 @@ import android.view.View; | ||
| 9 | import android.view.ViewGroup; | 9 | import android.view.ViewGroup; |
| 10 | import android.widget.TextView; | 10 | import android.widget.TextView; |
| 11 | 11 | ||
| 12 | -import com.mang.xdy.demo.R; | 12 | +import com.mang.xuedianyun.android.R; |
| 13 | 13 | ||
| 14 | 14 | ||
| 15 | /** | 15 | /** |
| 1 | -package com.mang.xdy.demo.fragment; | 1 | +package com.mang.xuedianyun.android.fragment; |
| 2 | 2 | ||
| 3 | 3 | ||
| 4 | import android.os.Bundle; | 4 | import android.os.Bundle; |
| @@ -7,12 +7,13 @@ import android.view.LayoutInflater; | @@ -7,12 +7,13 @@ import android.view.LayoutInflater; | ||
| 7 | import android.view.View; | 7 | import android.view.View; |
| 8 | import android.view.ViewGroup; | 8 | import android.view.ViewGroup; |
| 9 | 9 | ||
| 10 | -import com.mang.xdy.demo.R; | 10 | +import com.mang.xuedianyun.android.R; |
| 11 | 11 | ||
| 12 | /** | 12 | /** |
| 13 | * A simple {@link Fragment} subclass. | 13 | * A simple {@link Fragment} subclass. |
| 14 | * Use the {@link PublishFragment#newInstance} factory method to | 14 | * Use the {@link PublishFragment#newInstance} factory method to |
| 15 | * create an instance of this fragment. | 15 | * create an instance of this fragment. |
| 16 | + * @deprecated | ||
| 16 | */ | 17 | */ |
| 17 | public class PublishFragment extends Fragment { | 18 | public class PublishFragment extends Fragment { |
| 18 | // TODO: Rename parameter arguments, choose names that match | 19 | // TODO: Rename parameter arguments, choose names that match |
| 1 | -package com.mang.xdy.demo.utils; | ||
| 2 | - | ||
| 3 | -import android.annotation.SuppressLint; | ||
| 4 | -import android.app.Activity; | ||
| 5 | -import android.content.Context; | ||
| 6 | -import android.content.res.Resources; | ||
| 7 | -import android.graphics.Rect; | ||
| 8 | -import android.util.DisplayMetrics; | ||
| 9 | -import android.view.View; | ||
| 10 | -import android.view.Window; | ||
| 11 | -import android.view.WindowManager; | ||
| 12 | - | ||
| 13 | -import java.lang.reflect.Field; | ||
| 14 | -import java.lang.reflect.InvocationTargetException; | ||
| 15 | -import java.lang.reflect.Method; | 1 | +package com.mang.xuedianyun.android.utils; |
| 16 | 2 | ||
| 17 | import android.annotation.SuppressLint; | 3 | import android.annotation.SuppressLint; |
| 18 | import android.app.Activity; | 4 | import android.app.Activity; |
| 1 | -package com.mang.xdy.demo.utils; | ||
| 2 | - | ||
| 3 | -import android.content.Context; | ||
| 4 | -import android.content.res.Resources; | ||
| 5 | -import android.support.annotation.StringRes; | ||
| 6 | - | ||
| 7 | -import java.io.BufferedReader; | ||
| 8 | -import java.io.IOException; | ||
| 9 | -import java.io.InputStream; | ||
| 10 | -import java.io.InputStreamReader; | 1 | +package com.mang.xuedianyun.android.utils; |
| 11 | 2 | ||
| 12 | import android.content.Context; | 3 | import android.content.Context; |
| 13 | import android.content.res.Resources; | 4 | import android.content.res.Resources; |
| @@ -11,7 +11,7 @@ | @@ -11,7 +11,7 @@ | ||
| 11 | * See the License for the specific language governing permissions and | 11 | * See the License for the specific language governing permissions and |
| 12 | * limitations under the License. | 12 | * limitations under the License. |
| 13 | */ | 13 | */ |
| 14 | -package com.mang.xdy.demo.utils.cache; | 14 | +package com.mang.xuedianyun.android.utils.cache; |
| 15 | 15 | ||
| 16 | import android.content.Context; | 16 | import android.content.Context; |
| 17 | import android.graphics.Bitmap; | 17 | import android.graphics.Bitmap; |
| 1 | -package com.mang.xdy.demo.widget; | 1 | +package com.mang.xuedianyun.android.widget; |
| 2 | 2 | ||
| 3 | import android.content.Context; | 3 | import android.content.Context; |
| 4 | import android.graphics.Bitmap; | 4 | import android.graphics.Bitmap; |
| @@ -17,13 +17,12 @@ import android.view.SurfaceHolder; | @@ -17,13 +17,12 @@ import android.view.SurfaceHolder; | ||
| 17 | import android.view.SurfaceView; | 17 | import android.view.SurfaceView; |
| 18 | import android.view.View; | 18 | import android.view.View; |
| 19 | 19 | ||
| 20 | -import com.mang.xdy.demo.R; | ||
| 21 | -import com.mang.xdy.demo.bean.AnnotaionEntity; | ||
| 22 | -import com.mang.xdy.demo.bean.PointGroupEntity; | ||
| 23 | -import com.mang.xdy.demo.bean.PointXY; | ||
| 24 | -import com.mang.xdy.demo.utils.DisplayUtil; | ||
| 25 | -import com.mang.xdy.demo.utils.ResUtil; | ||
| 26 | -import com.mang.xdy.utils.XdyLogUtil; | 20 | +import com.mang.xuedianyun.android.R; |
| 21 | +import com.mang.xuedianyun.android.bean.AnnotaionEntity; | ||
| 22 | +import com.mang.xuedianyun.android.bean.PointGroupEntity; | ||
| 23 | +import com.mang.xuedianyun.android.bean.PointXY; | ||
| 24 | +import com.mang.xuedianyun.android.utils.DisplayUtil; | ||
| 25 | +import com.mang.xuedianyun.android.utils.ResUtil; | ||
| 27 | 26 | ||
| 28 | import java.util.ArrayList; | 27 | import java.util.ArrayList; |
| 29 | import java.util.Iterator; | 28 | import java.util.Iterator; |
| 1 | +package com.mang.xuedianyun.android.widget.answersheet; | ||
| 2 | + | ||
| 3 | +import android.content.Context; | ||
| 4 | +import android.os.CountDownTimer; | ||
| 5 | +import android.util.AttributeSet; | ||
| 6 | +import android.view.Display; | ||
| 7 | +import android.view.LayoutInflater; | ||
| 8 | +import android.view.View; | ||
| 9 | +import android.widget.CheckBox; | ||
| 10 | +import android.widget.LinearLayout; | ||
| 11 | +import android.widget.RadioButton; | ||
| 12 | +import android.widget.RelativeLayout; | ||
| 13 | +import android.widget.TextView; | ||
| 14 | + | ||
| 15 | +import com.mang.xuedianyun.android.R; | ||
| 16 | +import com.mang.xuedianyun.android.utils.ToastUtil; | ||
| 17 | + | ||
| 18 | +import butterknife.BindView; | ||
| 19 | +import butterknife.ButterKnife; | ||
| 20 | +import butterknife.OnClick; | ||
| 21 | + | ||
| 22 | +/** | ||
| 23 | + * Created by abao on 2017/5/5. | ||
| 24 | + * @deprecated | ||
| 25 | + */ | ||
| 26 | + | ||
| 27 | +public class AnswerSheetView extends RelativeLayout { | ||
| 28 | + /*单选多选类型*/ | ||
| 29 | + public final static int ANSWER_TYPE_SINGLE_OR_MORE = 1; | ||
| 30 | + /*对错类型*/ | ||
| 31 | + public final static int ANSWER_TYPE_RIGHT_OR_WRONG = 2; | ||
| 32 | + /*填空*/ | ||
| 33 | + public final static int ANSWER_TYPE_FILLING = 3; | ||
| 34 | + /*单前的type*/ | ||
| 35 | + private static int ANSWER_CURRENT_TYPE = 1; | ||
| 36 | + /*倒计时时间 s*/ | ||
| 37 | + public static int ANSWER_TIMEOUT = 30; | ||
| 38 | + @BindView(R.id.tv_exam_countdown) | ||
| 39 | + TextView tvExamCountdown; | ||
| 40 | + @BindView(R.id.rel_home_tv_exam_countdown) | ||
| 41 | + RelativeLayout relHomeTvExamCountdown; | ||
| 42 | + @BindView(R.id.cb_exam_A) | ||
| 43 | + CheckBox cbExamA; | ||
| 44 | + @BindView(R.id.cb_exam_B) | ||
| 45 | + CheckBox cbExamB; | ||
| 46 | + @BindView(R.id.cb_exam_C) | ||
| 47 | + CheckBox cbExamC; | ||
| 48 | + @BindView(R.id.cb_exam_D) | ||
| 49 | + CheckBox cbExamD; | ||
| 50 | + @BindView(R.id.ll_exam_SingleOrMore) | ||
| 51 | + LinearLayout llExamSingleOrMore; | ||
| 52 | + @BindView(R.id.rb_exam_R) | ||
| 53 | + RadioButton rbExamR; | ||
| 54 | + @BindView(R.id.rb_exam_W) | ||
| 55 | + RadioButton rbExamW; | ||
| 56 | + @BindView(R.id.ll_exam_selectRightOrWrong) | ||
| 57 | + LinearLayout llExamSelectRightOrWrong; | ||
| 58 | + @BindView(R.id.ll_exam_filling) | ||
| 59 | + LinearLayout llExamFilling; | ||
| 60 | + @BindView(R.id.tv_exam_up) | ||
| 61 | + TextView tvExamUp; | ||
| 62 | + @BindView(R.id.tv_exam_cancle) | ||
| 63 | + TextView tvExamCancle; | ||
| 64 | + @BindView(R.id.ll_exam_submit) | ||
| 65 | + LinearLayout llExamSubmit; | ||
| 66 | + @BindView(R.id.rel_exam_layout) | ||
| 67 | + RelativeLayout relExamLayout; | ||
| 68 | + @BindView(R.id.ll_exam_answer) | ||
| 69 | + LinearLayout llExamAnswer; | ||
| 70 | + | ||
| 71 | + private AnswerCount mAnswerCount; | ||
| 72 | + | ||
| 73 | + private StringBuffer sb = new StringBuffer(); | ||
| 74 | + private Context mContext; | ||
| 75 | + private String character_close="关闭"; | ||
| 76 | + private String character_cancle="放弃"; | ||
| 77 | + Display display; | ||
| 78 | + | ||
| 79 | + private OnAnswerLayoutChangeListener onAnswerLayoutChangeListener; | ||
| 80 | + public interface OnAnswerLayoutChangeListener{ | ||
| 81 | + /** | ||
| 82 | + * 改变显示布局的大小 | ||
| 83 | + * @param | ||
| 84 | + */ | ||
| 85 | + void setAnswerSheetFramLayout(int num); | ||
| 86 | + | ||
| 87 | + void setAnswerSheetNormal(int num); | ||
| 88 | + } | ||
| 89 | + public void setOnAnswerLayoutChangeListener(OnAnswerLayoutChangeListener onAnswerLayoutChangeListener){ | ||
| 90 | + this.onAnswerLayoutChangeListener=onAnswerLayoutChangeListener; | ||
| 91 | + } | ||
| 92 | + | ||
| 93 | + | ||
| 94 | + | ||
| 95 | + public AnswerSheetView(Context context) { | ||
| 96 | + this(context, null); | ||
| 97 | + } | ||
| 98 | + | ||
| 99 | + public AnswerSheetView(Context context, AttributeSet attrs) { | ||
| 100 | + this(context, attrs, 0); | ||
| 101 | + } | ||
| 102 | + | ||
| 103 | + public AnswerSheetView(Context context, AttributeSet attrs, int defStyleAttr) { | ||
| 104 | + super(context, attrs, defStyleAttr); | ||
| 105 | + mContext = context; | ||
| 106 | + View view = initView(context); | ||
| 107 | + | ||
| 108 | + this.addView(view); | ||
| 109 | + } | ||
| 110 | + | ||
| 111 | + public View initView(Context context) { | ||
| 112 | + View view = LayoutInflater.from(context).inflate(R.layout.item_answer, null); | ||
| 113 | + ButterKnife.bind(this, view); | ||
| 114 | + return view; | ||
| 115 | + } | ||
| 116 | + | ||
| 117 | + /*选择答题类型*/ | ||
| 118 | + public void selectAnswerSheetType(int type) { | ||
| 119 | + tvExamCountdown.setText("_s"); | ||
| 120 | + llExamAnswer.setVisibility(View.GONE); | ||
| 121 | + tvExamUp.setVisibility(View.VISIBLE); | ||
| 122 | + tvExamCancle.setText(character_cancle); | ||
| 123 | + switch (type) { | ||
| 124 | + case ANSWER_TYPE_SINGLE_OR_MORE: | ||
| 125 | + ANSWER_CURRENT_TYPE = ANSWER_TYPE_SINGLE_OR_MORE; | ||
| 126 | + llExamSingleOrMore.setVisibility(View.VISIBLE); | ||
| 127 | + llExamSelectRightOrWrong.setVisibility(View.GONE); | ||
| 128 | + llExamFilling.setVisibility(View.GONE); | ||
| 129 | + break; | ||
| 130 | + case ANSWER_TYPE_RIGHT_OR_WRONG: | ||
| 131 | + ANSWER_CURRENT_TYPE = ANSWER_TYPE_RIGHT_OR_WRONG; | ||
| 132 | + llExamSingleOrMore.setVisibility(View.GONE); | ||
| 133 | + llExamSelectRightOrWrong.setVisibility(View.VISIBLE); | ||
| 134 | + llExamFilling.setVisibility(View.GONE); | ||
| 135 | + break; | ||
| 136 | + case ANSWER_TYPE_FILLING: | ||
| 137 | + ANSWER_CURRENT_TYPE = ANSWER_TYPE_FILLING; | ||
| 138 | + llExamSingleOrMore.setVisibility(View.GONE); | ||
| 139 | + llExamSelectRightOrWrong.setVisibility(View.GONE); | ||
| 140 | + llExamFilling.setVisibility(View.VISIBLE); | ||
| 141 | + break; | ||
| 142 | + | ||
| 143 | + } | ||
| 144 | + } | ||
| 145 | + | ||
| 146 | + @OnClick({R.id.tv_exam_up, R.id.tv_exam_cancle}) | ||
| 147 | + public void onViewClicked(View view) { | ||
| 148 | + switch (view.getId()) { | ||
| 149 | + case R.id.tv_exam_up: | ||
| 150 | + //提交需要获取结果,清除数据,时间清理 | ||
| 151 | +// relExamLayout.setVisibility(GONE); | ||
| 152 | + handleAnswer(ANSWER_CURRENT_TYPE); | ||
| 153 | + ToastUtil.showToastshort("选择答案:" + sb.toString() + sb.length(), mContext); | ||
| 154 | + recoverStatus(); | ||
| 155 | + setSubmitAnswer(); | ||
| 156 | + break; | ||
| 157 | + case R.id.tv_exam_cancle: | ||
| 158 | + recoverStatus(); | ||
| 159 | +// if(character_cancle.equals(tvExamCancle)) { | ||
| 160 | +// setAnsNormalLayout(53); | ||
| 161 | +// }else{ | ||
| 162 | +// | ||
| 163 | +// } | ||
| 164 | + if(relExamLayout.isShown()){ | ||
| 165 | + relExamLayout.setVisibility(GONE); | ||
| 166 | + } | ||
| 167 | + break; | ||
| 168 | + } | ||
| 169 | + } | ||
| 170 | + | ||
| 171 | + /*开始倒计时*/ | ||
| 172 | + public void startCountTimer(int time) { | ||
| 173 | + ANSWER_TIMEOUT = time; | ||
| 174 | + cancleCountTimer(); | ||
| 175 | + mAnswerCount = new AnswerCount(ANSWER_TIMEOUT * 1000, 1000); | ||
| 176 | + mAnswerCount.start(); | ||
| 177 | + //提交需要获取结果,清除数据,时间清理 | ||
| 178 | + relExamLayout.setVisibility(VISIBLE); | ||
| 179 | + } | ||
| 180 | + | ||
| 181 | + /*销毁倒计时*/ | ||
| 182 | + public void cancleCountTimer() { | ||
| 183 | + if (mAnswerCount != null) { | ||
| 184 | + mAnswerCount.cancel(); | ||
| 185 | + } | ||
| 186 | + } | ||
| 187 | + | ||
| 188 | + /** | ||
| 189 | + * 处理结果,拼装答案 | ||
| 190 | + * | ||
| 191 | + * @param type | ||
| 192 | + */ | ||
| 193 | + public void handleAnswer(int type) { | ||
| 194 | + switch (type) { | ||
| 195 | + case ANSWER_TYPE_SINGLE_OR_MORE: | ||
| 196 | + handleSingleOrMore(); | ||
| 197 | + break; | ||
| 198 | + case ANSWER_TYPE_RIGHT_OR_WRONG: | ||
| 199 | + handleRightOrWrong(); | ||
| 200 | + break; | ||
| 201 | + case ANSWER_TYPE_FILLING: | ||
| 202 | + | ||
| 203 | + break; | ||
| 204 | + } | ||
| 205 | + | ||
| 206 | + } | ||
| 207 | + | ||
| 208 | + /*单选,多选答案拼接*/ | ||
| 209 | + public void handleSingleOrMore() { | ||
| 210 | + sb.setLength(0); | ||
| 211 | + if (cbExamA.isChecked()) { | ||
| 212 | + sb.append("A"); | ||
| 213 | + } | ||
| 214 | + if (cbExamB.isChecked()) { | ||
| 215 | + sb.append("B"); | ||
| 216 | + } | ||
| 217 | + if (cbExamC.isChecked()) { | ||
| 218 | + sb.append("C"); | ||
| 219 | + } | ||
| 220 | + if (cbExamD.isChecked()) { | ||
| 221 | + sb.append("D"); | ||
| 222 | + } | ||
| 223 | + | ||
| 224 | + } | ||
| 225 | + | ||
| 226 | + /*处理对错*/ | ||
| 227 | + public void handleRightOrWrong() { | ||
| 228 | + sb.setLength(0); | ||
| 229 | + if (rbExamR.isChecked()) { | ||
| 230 | + sb.append("对"); | ||
| 231 | + } else { | ||
| 232 | + sb.append("错"); | ||
| 233 | + } | ||
| 234 | + | ||
| 235 | + } | ||
| 236 | + | ||
| 237 | + /*恢复状态*/ | ||
| 238 | + public void recoverStatus() { | ||
| 239 | + switch (ANSWER_CURRENT_TYPE) { | ||
| 240 | + case ANSWER_TYPE_SINGLE_OR_MORE: | ||
| 241 | + cbExamA.setChecked(false); | ||
| 242 | + cbExamB.setChecked(false); | ||
| 243 | + cbExamC.setChecked(false); | ||
| 244 | + cbExamD.setChecked(false); | ||
| 245 | + break; | ||
| 246 | + case ANSWER_TYPE_RIGHT_OR_WRONG: | ||
| 247 | + rbExamR.setChecked(true); | ||
| 248 | + rbExamW.setChecked(false); | ||
| 249 | + break; | ||
| 250 | + case ANSWER_TYPE_FILLING: | ||
| 251 | + break; | ||
| 252 | + } | ||
| 253 | + } | ||
| 254 | + /*隐藏所有题目*/ | ||
| 255 | + private void hideAllTitle(){ | ||
| 256 | + llExamSingleOrMore.setVisibility(View.GONE); | ||
| 257 | + llExamSelectRightOrWrong.setVisibility(View.GONE); | ||
| 258 | + llExamFilling.setVisibility(View.GONE); | ||
| 259 | + } | ||
| 260 | + /*设置显示答案布局大小*/ | ||
| 261 | + public void setAnswerLayout(int num){ | ||
| 262 | + if(onAnswerLayoutChangeListener!=null) { | ||
| 263 | + onAnswerLayoutChangeListener.setAnswerSheetFramLayout(num); | ||
| 264 | + } | ||
| 265 | + } | ||
| 266 | + | ||
| 267 | + /*设置显示答案布局大小*/ | ||
| 268 | + public void setAnsNormalLayout(int num){ | ||
| 269 | + if(onAnswerLayoutChangeListener!=null) { | ||
| 270 | + onAnswerLayoutChangeListener.setAnswerSheetNormal(num); | ||
| 271 | + } | ||
| 272 | + } | ||
| 273 | + /*提交答案 设置*/ | ||
| 274 | + private void setSubmitAnswer(){ | ||
| 275 | + hideAllTitle(); | ||
| 276 | + llExamAnswer.setVisibility(View.VISIBLE); | ||
| 277 | + cancleCountTimer(); | ||
| 278 | + tvExamUp.setVisibility(View.GONE); | ||
| 279 | + tvExamCancle.setText(character_close); | ||
| 280 | + setAnswerLayout(100); | ||
| 281 | + | ||
| 282 | + } | ||
| 283 | + @OnClick(R.id.ll_exam_answer) | ||
| 284 | + public void onViewClicked() { | ||
| 285 | + } | ||
| 286 | + | ||
| 287 | + /*倒计时处理*/ | ||
| 288 | + class AnswerCount extends CountDownTimer { | ||
| 289 | + | ||
| 290 | + /** | ||
| 291 | + * @param millisInFuture The number of millis in the future from the call | ||
| 292 | + * to {@link #start()} until the countdown is done and {@link #onFinish()} | ||
| 293 | + * is called. | ||
| 294 | + * @param countDownInterval The interval along the way to receive | ||
| 295 | + * {@link #onTick(long)} callbacks. | ||
| 296 | + */ | ||
| 297 | + public AnswerCount(long millisInFuture, long countDownInterval) { | ||
| 298 | + super(millisInFuture, countDownInterval); | ||
| 299 | + } | ||
| 300 | + | ||
| 301 | + @Override | ||
| 302 | + public void onTick(long millisUntilFinished) { | ||
| 303 | + if (millisUntilFinished < 10) { | ||
| 304 | + tvExamCountdown.setText(" " + millisUntilFinished / 1000 + "s"); | ||
| 305 | + } else { | ||
| 306 | + tvExamCountdown.setText(millisUntilFinished / 1000 + "s"); | ||
| 307 | + } | ||
| 308 | + | ||
| 309 | + } | ||
| 310 | + | ||
| 311 | + @Override | ||
| 312 | + public void onFinish() { | ||
| 313 | + //这个结束应该做自动提交答案的工作 | ||
| 314 | + tvExamCountdown.setText("0s"); | ||
| 315 | + } | ||
| 316 | + } | ||
| 317 | +} |
| @@ -13,7 +13,7 @@ | @@ -13,7 +13,7 @@ | ||
| 13 | * See the License for the specific language governing permissions and | 13 | * See the License for the specific language governing permissions and |
| 14 | * limitations under the License. | 14 | * limitations under the License. |
| 15 | */ | 15 | */ |
| 16 | -package com.mang.xdy.demo.widget.chat; | 16 | +package com.mang.xuedianyun.android.widget.chat; |
| 17 | 17 | ||
| 18 | import android.os.Bundle; | 18 | import android.os.Bundle; |
| 19 | import android.view.LayoutInflater; | 19 | import android.view.LayoutInflater; |
| @@ -22,7 +22,7 @@ import android.view.ViewGroup; | @@ -22,7 +22,7 @@ import android.view.ViewGroup; | ||
| 22 | import android.widget.LinearLayout; | 22 | import android.widget.LinearLayout; |
| 23 | 23 | ||
| 24 | 24 | ||
| 25 | -import com.mang.xdy.demo.R; | 25 | +import com.mang.xuedianyun.android.R; |
| 26 | 26 | ||
| 27 | import org.kymjs.kjframe.ui.SupportFragment; | 27 | import org.kymjs.kjframe.ui.SupportFragment; |
| 28 | 28 |
| @@ -13,7 +13,7 @@ | @@ -13,7 +13,7 @@ | ||
| 13 | * See the License for the specific language governing permissions and | 13 | * See the License for the specific language governing permissions and |
| 14 | * limitations under the License. | 14 | * limitations under the License. |
| 15 | */ | 15 | */ |
| 16 | -package com.mang.xdy.demo.widget.chat; | 16 | +package com.mang.xuedianyun.android.widget.chat; |
| 17 | 17 | ||
| 18 | import android.app.Activity; | 18 | import android.app.Activity; |
| 19 | import android.graphics.Color; | 19 | import android.graphics.Color; |
| @@ -36,9 +36,9 @@ import android.widget.RadioButton; | @@ -36,9 +36,9 @@ import android.widget.RadioButton; | ||
| 36 | import android.widget.RadioGroup; | 36 | import android.widget.RadioGroup; |
| 37 | 37 | ||
| 38 | 38 | ||
| 39 | -import com.mang.xdy.demo.R; | ||
| 40 | -import com.mang.xdy.demo.adapter.FaceAdapter; | ||
| 41 | -import com.mang.xdy.demo.bean.Faceicon; | 39 | +import com.mang.xuedianyun.android.R; |
| 40 | +import com.mang.xuedianyun.android.adapter.FaceAdapter; | ||
| 41 | +import com.mang.xuedianyun.android.bean.Faceicon; | ||
| 42 | 42 | ||
| 43 | import org.kymjs.kjframe.ui.SupportFragment; | 43 | import org.kymjs.kjframe.ui.SupportFragment; |
| 44 | import org.kymjs.kjframe.utils.StringUtils; | 44 | import org.kymjs.kjframe.utils.StringUtils; |
| @@ -13,7 +13,7 @@ | @@ -13,7 +13,7 @@ | ||
| 13 | * See the License for the specific language governing permissions and | 13 | * See the License for the specific language governing permissions and |
| 14 | * limitations under the License. | 14 | * limitations under the License. |
| 15 | */ | 15 | */ |
| 16 | -package com.mang.xdy.demo.widget.chat; | 16 | +package com.mang.xuedianyun.android.widget.chat; |
| 17 | 17 | ||
| 18 | import android.app.Activity; | 18 | import android.app.Activity; |
| 19 | import android.content.Context; | 19 | import android.content.Context; |
| @@ -29,8 +29,8 @@ import android.widget.LinearLayout; | @@ -29,8 +29,8 @@ import android.widget.LinearLayout; | ||
| 29 | import android.widget.RelativeLayout; | 29 | import android.widget.RelativeLayout; |
| 30 | 30 | ||
| 31 | 31 | ||
| 32 | -import com.mang.xdy.demo.R; | ||
| 33 | -import com.mang.xdy.demo.adapter.FaceCategroyAdapter; | 32 | +import com.mang.xuedianyun.android.R; |
| 33 | +import com.mang.xuedianyun.android.adapter.FaceCategroyAdapter; | ||
| 34 | 34 | ||
| 35 | import java.util.List; | 35 | import java.util.List; |
| 36 | 36 |
| @@ -13,10 +13,10 @@ | @@ -13,10 +13,10 @@ | ||
| 13 | * See the License for the specific language governing permissions and | 13 | * See the License for the specific language governing permissions and |
| 14 | * limitations under the License. | 14 | * limitations under the License. |
| 15 | */ | 15 | */ |
| 16 | -package com.mang.xdy.demo.widget.chat; | 16 | +package com.mang.xuedianyun.android.widget.chat; |
| 17 | 17 | ||
| 18 | 18 | ||
| 19 | -import com.mang.xdy.demo.bean.Faceicon; | 19 | +import com.mang.xuedianyun.android.bean.Faceicon; |
| 20 | 20 | ||
| 21 | /** | 21 | /** |
| 22 | * 表情栏顶部按钮的监听器 | 22 | * 表情栏顶部按钮的监听器 |
| @@ -13,7 +13,7 @@ | @@ -13,7 +13,7 @@ | ||
| 13 | * See the License for the specific language governing permissions and | 13 | * See the License for the specific language governing permissions and |
| 14 | * limitations under the License. | 14 | * limitations under the License. |
| 15 | */ | 15 | */ |
| 16 | -package com.mang.xdy.demo.widget.chat; | 16 | +package com.mang.xuedianyun.android.widget.chat; |
| 17 | 17 | ||
| 18 | import android.annotation.SuppressLint; | 18 | import android.annotation.SuppressLint; |
| 19 | import android.content.Context; | 19 | import android.content.Context; |
| @@ -39,7 +39,7 @@ import android.widget.LinearLayout; | @@ -39,7 +39,7 @@ import android.widget.LinearLayout; | ||
| 39 | import android.widget.TextView; | 39 | import android.widget.TextView; |
| 40 | 40 | ||
| 41 | 41 | ||
| 42 | -import com.mang.xdy.demo.R; | 42 | +import com.mang.xuedianyun.android.R; |
| 43 | 43 | ||
| 44 | import java.util.Locale; | 44 | import java.util.Locale; |
| 45 | 45 |
| @@ -13,7 +13,7 @@ | @@ -13,7 +13,7 @@ | ||
| 13 | * See the License for the specific language governing permissions and | 13 | * See the License for the specific language governing permissions and |
| 14 | * limitations under the License. | 14 | * limitations under the License. |
| 15 | */ | 15 | */ |
| 16 | -package com.mang.xdy.demo.widget.chat; | 16 | +package com.mang.xuedianyun.android.widget.chat; |
| 17 | 17 | ||
| 18 | import android.graphics.Rect; | 18 | import android.graphics.Rect; |
| 19 | import android.view.View; | 19 | import android.view.View; |
MyApplication/XdyDemo/src/main/java/com/mang/xuedianyun/android/widget/dialog/AnswText.java
0 → 100644
| 1 | +package com.mang.xuedianyun.android.widget.dialog; | ||
| 2 | + | ||
| 3 | +import android.app.Dialog; | ||
| 4 | +import android.content.Context; | ||
| 5 | +import android.view.Display; | ||
| 6 | +import android.view.Gravity; | ||
| 7 | +import android.view.LayoutInflater; | ||
| 8 | +import android.view.View; | ||
| 9 | +import android.view.Window; | ||
| 10 | +import android.view.WindowManager; | ||
| 11 | +import android.widget.LinearLayout; | ||
| 12 | +import android.widget.ScrollView; | ||
| 13 | +import android.widget.TextView; | ||
| 14 | + | ||
| 15 | +import com.mang.xuedianyun.android.R; | ||
| 16 | + | ||
| 17 | +import butterknife.ButterKnife; | ||
| 18 | + | ||
| 19 | + | ||
| 20 | +/** | ||
| 21 | + * Created by abao on 2017/5/9. | ||
| 22 | + * @deprecated | ||
| 23 | + */ | ||
| 24 | + | ||
| 25 | +public class AnswText { | ||
| 26 | + | ||
| 27 | + | ||
| 28 | + | ||
| 29 | + | ||
| 30 | + | ||
| 31 | + | ||
| 32 | + /*单选多选类型*/ | ||
| 33 | + public final static int ANSWER_TYPE_SINGLE_OR_MORE = 1; | ||
| 34 | + /*对错类型*/ | ||
| 35 | + public final static int ANSWER_TYPE_RIGHT_OR_WRONG = 2; | ||
| 36 | + /*填空*/ | ||
| 37 | + public final static int ANSWER_TYPE_FILLING = 3; | ||
| 38 | + /*单前的type*/ | ||
| 39 | + private static int ANSWER_CURRENT_TYPE = 1; | ||
| 40 | + /*倒计时时间 s*/ | ||
| 41 | + public static int ANSWER_TIMEOUT = 30; | ||
| 42 | + | ||
| 43 | + | ||
| 44 | + | ||
| 45 | + private StringBuffer sb = new StringBuffer(); | ||
| 46 | + private Context mContext; | ||
| 47 | + private String character_close="关闭"; | ||
| 48 | + private String character_cancle="放弃"; | ||
| 49 | + | ||
| 50 | + private OnAnswerLayoutChangeListener onAnswerLayoutChangeListener; | ||
| 51 | + public interface OnAnswerLayoutChangeListener{ | ||
| 52 | + /** | ||
| 53 | + * 改变显示布局的大小 | ||
| 54 | + * @param | ||
| 55 | + */ | ||
| 56 | + void setAnswerSheetFramLayout(int num); | ||
| 57 | + | ||
| 58 | + void setAnswerSheetNormal(int num); | ||
| 59 | + } | ||
| 60 | + public void setOnAnswerLayoutChangeListener(OnAnswerLayoutChangeListener onAnswerLayoutChangeListener){ | ||
| 61 | + this.onAnswerLayoutChangeListener=onAnswerLayoutChangeListener; | ||
| 62 | + } | ||
| 63 | + | ||
| 64 | + private Context context; | ||
| 65 | + private Dialog dialog; | ||
| 66 | + private TextView txt_title; | ||
| 67 | + private TextView txt_cancel; | ||
| 68 | + private LinearLayout lLayout_content; | ||
| 69 | + private ScrollView sLayout_content; | ||
| 70 | + private boolean showTitle = false; | ||
| 71 | +// private List<ActionSheetDialog.SheetItem> sheetItemList; | ||
| 72 | + private Display display; | ||
| 73 | + | ||
| 74 | + public AnswText(Context context) { | ||
| 75 | + this.context = context; | ||
| 76 | + this.mContext=context; | ||
| 77 | + WindowManager windowManager = (WindowManager) context | ||
| 78 | + .getSystemService(Context.WINDOW_SERVICE); | ||
| 79 | + display = windowManager.getDefaultDisplay(); | ||
| 80 | + } | ||
| 81 | + | ||
| 82 | + public AnswText builder() { | ||
| 83 | + View view = LayoutInflater.from(context).inflate( | ||
| 84 | + R.layout.view_text, null); | ||
| 85 | + ButterKnife.bind(this,view); | ||
| 86 | + view.setMinimumWidth(display.getWidth()); | ||
| 87 | + | ||
| 88 | + dialog = new Dialog(context, R.style.ActionSheetDialogStyle); | ||
| 89 | + dialog.setContentView(view); | ||
| 90 | + Window dialogWindow = dialog.getWindow(); | ||
| 91 | + dialogWindow.setGravity(Gravity.LEFT | Gravity.BOTTOM); | ||
| 92 | +// dialogWindow.setGravity( Gravity.BOTTOM); | ||
| 93 | + WindowManager.LayoutParams lp = dialogWindow.getAttributes(); | ||
| 94 | + lp.x = 0; | ||
| 95 | + lp.y = 0; | ||
| 96 | + dialogWindow.setAttributes(lp); | ||
| 97 | + return this; | ||
| 98 | + } | ||
| 99 | + public void show() { | ||
| 100 | + dialog.show(); | ||
| 101 | + } | ||
| 102 | + | ||
| 103 | + | ||
| 104 | + | ||
| 105 | +} | ||
| 106 | + |
| 1 | -package com.mang.xdy.demo.widget.dialog; | 1 | +package com.mang.xuedianyun.android.widget.dialog; |
| 2 | 2 | ||
| 3 | import android.app.Dialog; | 3 | import android.app.Dialog; |
| 4 | import android.content.Context; | 4 | import android.content.Context; |
| @@ -12,15 +12,14 @@ import android.view.ViewGroup; | @@ -12,15 +12,14 @@ import android.view.ViewGroup; | ||
| 12 | import android.view.Window; | 12 | import android.view.Window; |
| 13 | import android.view.WindowManager; | 13 | import android.view.WindowManager; |
| 14 | import android.widget.CheckBox; | 14 | import android.widget.CheckBox; |
| 15 | -import android.widget.ImageView; | ||
| 16 | import android.widget.LinearLayout; | 15 | import android.widget.LinearLayout; |
| 17 | import android.widget.RadioButton; | 16 | import android.widget.RadioButton; |
| 18 | import android.widget.RelativeLayout; | 17 | import android.widget.RelativeLayout; |
| 19 | import android.widget.ScrollView; | 18 | import android.widget.ScrollView; |
| 20 | import android.widget.TextView; | 19 | import android.widget.TextView; |
| 21 | 20 | ||
| 22 | -import com.mang.xdy.demo.R; | ||
| 23 | -import com.mang.xdy.demo.utils.ToastUtil; | 21 | +import com.mang.xuedianyun.android.R; |
| 22 | +import com.mang.xuedianyun.android.utils.ToastUtil; | ||
| 24 | import com.mang.xdy.utils.XdyLogUtil; | 23 | import com.mang.xdy.utils.XdyLogUtil; |
| 25 | import com.mang.xdy.utils.XdyStringUtils; | 24 | import com.mang.xdy.utils.XdyStringUtils; |
| 26 | 25 |
| 1 | -package com.mang.xdy.demo.widget.dialog; | 1 | +package com.mang.xuedianyun.android.widget.dialog; |
| 2 | 2 | ||
| 3 | import android.content.Context; | 3 | import android.content.Context; |
| 4 | import android.view.Gravity; | 4 | import android.view.Gravity; |
| @@ -7,8 +7,8 @@ import android.widget.Button; | @@ -7,8 +7,8 @@ import android.widget.Button; | ||
| 7 | import android.widget.EditText; | 7 | import android.widget.EditText; |
| 8 | 8 | ||
| 9 | 9 | ||
| 10 | -import com.mang.xdy.demo.R; | ||
| 11 | -import com.mang.xdy.demo.dialog.BaseDialog; | 10 | +import com.mang.xuedianyun.android.R; |
| 11 | +import com.mang.xuedianyun.android.dialog.BaseDialog; | ||
| 12 | import com.mang.xdy.utils.UIUtils; | 12 | import com.mang.xdy.utils.UIUtils; |
| 13 | 13 | ||
| 14 | import org.greenrobot.eventbus.EventBus; | 14 | import org.greenrobot.eventbus.EventBus; |
| @@ -13,13 +13,13 @@ | @@ -13,13 +13,13 @@ | ||
| 13 | * See the License for the specific language governing permissions and | 13 | * See the License for the specific language governing permissions and |
| 14 | * limitations under the License. | 14 | * limitations under the License. |
| 15 | */ | 15 | */ |
| 16 | -package com.mang.xdy.demo.widget.emoji; | 16 | +package com.mang.xuedianyun.android.widget.emoji; |
| 17 | 17 | ||
| 18 | import android.widget.AbsListView; | 18 | import android.widget.AbsListView; |
| 19 | import android.widget.TextView; | 19 | import android.widget.TextView; |
| 20 | 20 | ||
| 21 | 21 | ||
| 22 | -import com.mang.xdy.demo.R; | 22 | +import com.mang.xuedianyun.android.R; |
| 23 | 23 | ||
| 24 | import org.kymjs.kjframe.widget.AdapterHolder; | 24 | import org.kymjs.kjframe.widget.AdapterHolder; |
| 25 | import org.kymjs.kjframe.widget.KJAdapter; | 25 | import org.kymjs.kjframe.widget.KJAdapter; |
| @@ -13,7 +13,7 @@ | @@ -13,7 +13,7 @@ | ||
| 13 | * See the License for the specific language governing permissions and | 13 | * See the License for the specific language governing permissions and |
| 14 | * limitations under the License. | 14 | * limitations under the License. |
| 15 | */ | 15 | */ |
| 16 | -package com.mang.xdy.demo.widget.emoji; | 16 | +package com.mang.xuedianyun.android.widget.emoji; |
| 17 | 17 | ||
| 18 | import android.app.Activity; | 18 | import android.app.Activity; |
| 19 | import android.os.Bundle; | 19 | import android.os.Bundle; |
| @@ -31,8 +31,8 @@ import android.widget.RadioButton; | @@ -31,8 +31,8 @@ import android.widget.RadioButton; | ||
| 31 | import android.widget.RadioGroup; | 31 | import android.widget.RadioGroup; |
| 32 | 32 | ||
| 33 | 33 | ||
| 34 | -import com.mang.xdy.demo.R; | ||
| 35 | -import com.mang.xdy.demo.widget.chat.OnOperationListener; | 34 | +import com.mang.xuedianyun.android.R; |
| 35 | +import com.mang.xuedianyun.android.widget.chat.OnOperationListener; | ||
| 36 | 36 | ||
| 37 | import org.kymjs.kjframe.ui.SupportFragment; | 37 | import org.kymjs.kjframe.ui.SupportFragment; |
| 38 | 38 |
| @@ -13,7 +13,7 @@ | @@ -13,7 +13,7 @@ | ||
| 13 | * See the License for the specific language governing permissions and | 13 | * See the License for the specific language governing permissions and |
| 14 | * limitations under the License. | 14 | * limitations under the License. |
| 15 | */ | 15 | */ |
| 16 | -package com.mang.xdy.demo.widget.emoji; | 16 | +package com.mang.xuedianyun.android.widget.emoji; |
| 17 | 17 | ||
| 18 | /** | 18 | /** |
| 19 | * emoji表情的javabean | 19 | * emoji表情的javabean |
| 1 | -package com.mang.xdy.demo.widget.view; | 1 | +package com.mang.xuedianyun.android.widget.view; |
| 2 | 2 | ||
| 3 | import android.content.Context; | 3 | import android.content.Context; |
| 4 | import android.os.Build; | 4 | import android.os.Build; |
| @@ -7,7 +7,7 @@ import android.view.View; | @@ -7,7 +7,7 @@ import android.view.View; | ||
| 7 | import android.view.ViewGroup; | 7 | import android.view.ViewGroup; |
| 8 | import android.widget.RelativeLayout; | 8 | import android.widget.RelativeLayout; |
| 9 | 9 | ||
| 10 | -import com.mang.xdy.demo.utils.DisplayUtil; | 10 | +import com.mang.xuedianyun.android.utils.DisplayUtil; |
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | public class AutoAdaptHeaderViewGroup extends RelativeLayout { | 13 | public class AutoAdaptHeaderViewGroup extends RelativeLayout { |
1.7 KB
1.7 KB
2.3 KB
2.0 KB
1.6 KB
2.7 KB
| 1 | +<?xml version="1.0" encoding="utf-8"?> | ||
| 2 | +<selector xmlns:android="http://schemas.android.com/apk/res/android"> | ||
| 3 | + <item android:drawable="@color/home_btn_green_press" android:state_pressed="true"></item> | ||
| 4 | + <item android:drawable="@color/home_btn_green_press" android:state_checked="true"></item> | ||
| 5 | + <item android:drawable="@color/home_btn_green"></item> | ||
| 6 | +</selector> |
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | +<shape | ||
| 3 | + xmlns:android="http://schemas.android.com/apk/res/android" | ||
| 4 | + android:shape="oval" | ||
| 5 | + android:useLevel="false" > | ||
| 6 | + <solid android:color="@color/colorSkyBlue" /> | ||
| 7 | + <!--<padding--> | ||
| 8 | + <!--android:left="2dp"--> | ||
| 9 | + <!--android:top="1dp"--> | ||
| 10 | + <!--android:right="2dp"--> | ||
| 11 | + <!--android:bottom="1dp" />--> | ||
| 12 | + <!--<solid--> | ||
| 13 | + <!--android:color="@color/actionsheet_red" />--> | ||
| 14 | + <!--<stroke--> | ||
| 15 | + <!--android:width="1dp"--> | ||
| 16 | + <!--android:color="@android:color/white" />--> | ||
| 17 | + <size android:width="18dp" | ||
| 18 | + android:height="18dp" /> | ||
| 19 | +</shape> |
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | +<shape | ||
| 3 | + xmlns:android="http://schemas.android.com/apk/res/android" | ||
| 4 | + android:shape="oval" | ||
| 5 | + android:useLevel="false" > | ||
| 6 | + <solid android:color="@color/actionsheet_red" /> | ||
| 7 | + <!--<padding--> | ||
| 8 | + <!--android:left="2dp"--> | ||
| 9 | + <!--android:top="1dp"--> | ||
| 10 | + <!--android:right="2dp"--> | ||
| 11 | + <!--android:bottom="1dp" />--> | ||
| 12 | + <!--<solid--> | ||
| 13 | + <!--android:color="@color/actionsheet_red" />--> | ||
| 14 | + <!--<stroke--> | ||
| 15 | + <!--android:width="1dp"--> | ||
| 16 | + <!--android:color="@android:color/white" />--> | ||
| 17 | + <size android:width="18dp" | ||
| 18 | + android:height="18dp" /> | ||
| 19 | +</shape> |
| 1 | +<?xml version="1.0" encoding="utf-8"?> | ||
| 2 | +<shape xmlns:android="http://schemas.android.com/apk/res/android" | ||
| 3 | + android:shape="rectangle"> | ||
| 4 | + | ||
| 5 | + <!-- 圆角 --> | ||
| 6 | + <corners android:radius="16dp" /> | ||
| 7 | + | ||
| 8 | + <!-- 填充颜色 --> | ||
| 9 | + <solid android:color="@color/colorSkyBlue" /> | ||
| 10 | + | ||
| 11 | + | ||
| 12 | + <!--<!–内边距–>--> | ||
| 13 | + <padding | ||
| 14 | + android:bottom="5dp" | ||
| 15 | + android:left="5dp" | ||
| 16 | + android:right="5dp" | ||
| 17 | + android:top="5dp" /> | ||
| 18 | +</shape> |
| 1 | +<?xml version="1.0" encoding="utf-8"?> | ||
| 2 | +<shape xmlns:android="http://schemas.android.com/apk/res/android" | ||
| 3 | + android:shape="rectangle"> | ||
| 4 | + | ||
| 5 | + <!-- 圆角 --> | ||
| 6 | + <corners android:radius="16dp" /> | ||
| 7 | + | ||
| 8 | + <!-- 填充颜色 --> | ||
| 9 | + <solid android:color="@color/colorGrey" /> | ||
| 10 | + | ||
| 11 | + | ||
| 12 | + <!--内边距--> | ||
| 13 | + <padding | ||
| 14 | + android:bottom="5dp" | ||
| 15 | + android:left="5dp" | ||
| 16 | + android:right="5dp" | ||
| 17 | + android:top="5dp" /> | ||
| 18 | +</shape> |
| @@ -5,7 +5,7 @@ | @@ -5,7 +5,7 @@ | ||
| 5 | android:layout_width="match_parent" | 5 | android:layout_width="match_parent" |
| 6 | android:layout_height="match_parent" | 6 | android:layout_height="match_parent" |
| 7 | android:orientation="vertical" | 7 | android:orientation="vertical" |
| 8 | - tools:context="com.mang.xdy.demo.MainActivity"> | 8 | + tools:context="com.mang.xuedianyun.android.MainActivity"> |
| 9 | <RelativeLayout | 9 | <RelativeLayout |
| 10 | android:id="@+id/rl_home_close" | 10 | android:id="@+id/rl_home_close" |
| 11 | android:layout_width="@dimen/ui_DIMEN_98.0PX" | 11 | android:layout_width="@dimen/ui_DIMEN_98.0PX" |
| 1 | +<?xml version="1.0" encoding="utf-8"?> | ||
| 2 | +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||
| 3 | + xmlns:tools="http://schemas.android.com/tools" | ||
| 4 | + xmlns:custom="http://schemas.android.com/apk/res-auto" | ||
| 5 | + android:id="@+id/activity_video_play" | ||
| 6 | + android:layout_width="match_parent" | ||
| 7 | + android:layout_height="match_parent" | ||
| 8 | + android:orientation="vertical" | ||
| 9 | + android:background="#e3e4e6" | ||
| 10 | + tools:context="com.mang.xuedianyun.android.activity.VideoPlayActivity"> | ||
| 11 | + <RelativeLayout | ||
| 12 | + android:id="@+id/avg_videoPlay_back" | ||
| 13 | + android:layout_width="match_parent" | ||
| 14 | + android:layout_height="wrap_content" | ||
| 15 | + android:layout_alignParentLeft="true" | ||
| 16 | + android:layout_alignParentStart="true" | ||
| 17 | + android:layout_alignParentTop="true" | ||
| 18 | + android:paddingLeft="@dimen/ui_DIMEN_20.0PX" | ||
| 19 | + android:paddingRight="@dimen/ui_DIMEN_20.0PX"> | ||
| 20 | + | ||
| 21 | + <ImageView | ||
| 22 | + android:id="@+id/img_videoPlay_back" | ||
| 23 | + android:layout_width="wrap_content" | ||
| 24 | + android:layout_height="@dimen/ui_titlebar_height" | ||
| 25 | + android:paddingRight="10dp" | ||
| 26 | + android:paddingLeft="15dp" | ||
| 27 | + android:src="@mipmap/back"/> | ||
| 28 | + <TextView | ||
| 29 | + android:layout_toRightOf="@+id/img_videoPlay_back" | ||
| 30 | + android:layout_width="wrap_content" | ||
| 31 | + style="@style/ui_wrapTvBaseStyle" | ||
| 32 | + android:layout_height="@dimen/ui_titlebar_height" | ||
| 33 | + android:text="@string/home_title_back" | ||
| 34 | + android:gravity="center" | ||
| 35 | + android:textColor="@color/white" | ||
| 36 | + android:visibility="gone" | ||
| 37 | + /> | ||
| 38 | + <TextView | ||
| 39 | + android:id="@+id/tv_videoPlay_className" | ||
| 40 | + style="@style/ui_wrapTvBaseStyle" | ||
| 41 | + android:layout_height="@dimen/ui_titlebar_height" | ||
| 42 | + android:gravity="center" | ||
| 43 | + android:layout_centerHorizontal="true" | ||
| 44 | + android:textColor="@color/white" | ||
| 45 | + android:layout_toRightOf="@+id/img_videoPlay_back" | ||
| 46 | + tools:text="dfdfdfdfdfdf" | ||
| 47 | + android:textSize="@dimen/ui_DIMEN_34.0PX"/> | ||
| 48 | + </RelativeLayout> | ||
| 49 | + <!--白板+right--> | ||
| 50 | + <RelativeLayout | ||
| 51 | + android:layout_width="match_parent" | ||
| 52 | + android:layout_height="match_parent" | ||
| 53 | + android:orientation="horizontal" | ||
| 54 | + android:layout_below="@+id/avg_videoPlay_back" | ||
| 55 | + android:layout_above="@+id/fl_media" | ||
| 56 | + > | ||
| 57 | + | ||
| 58 | + <LinearLayout | ||
| 59 | + android:id="@+id/ll_videoPlay_right" | ||
| 60 | + android:layout_width="wrap_content" | ||
| 61 | + android:layout_height="match_parent" | ||
| 62 | + android:layout_weight="1" | ||
| 63 | + android:orientation="vertical" | ||
| 64 | + android:layout_alignParentRight="true" | ||
| 65 | + > | ||
| 66 | + <RelativeLayout | ||
| 67 | + android:id="@+id/rel_videoPlay_play" | ||
| 68 | + android:layout_width="255dp" | ||
| 69 | + android:layout_alignParentRight="true" | ||
| 70 | + android:layout_weight="1" | ||
| 71 | + android:layout_height="wrap_content"> | ||
| 72 | + <com.pili.pldroid.player.widget.PLVideoTextureView | ||
| 73 | + android:id="@+id/img_playVideo_replay" | ||
| 74 | + android:layout_width="match_parent" | ||
| 75 | + android:layout_height="match_parent" | ||
| 76 | + android:layout_gravity="center"/> | ||
| 77 | + <SurfaceView | ||
| 78 | + android:id="@+id/surfaceview_playVideo" | ||
| 79 | + android:layout_width="match_parent" | ||
| 80 | + android:layout_height="match_parent" | ||
| 81 | + /> | ||
| 82 | + <ImageView | ||
| 83 | + android:id="@+id/img_playVideo_novideo" | ||
| 84 | + android:layout_width="match_parent" | ||
| 85 | + android:layout_height="match_parent" | ||
| 86 | + android:background="@mipmap/novideo" | ||
| 87 | + /> | ||
| 88 | + <FrameLayout | ||
| 89 | + android:layout_width="match_parent" | ||
| 90 | + android:layout_height="wrap_content"> | ||
| 91 | + | ||
| 92 | + </FrameLayout> | ||
| 93 | + <LinearLayout | ||
| 94 | + android:layout_width="wrap_content" | ||
| 95 | + android:layout_height="wrap_content" | ||
| 96 | + android:orientation="vertical" | ||
| 97 | + android:layout_alignParentRight="true" | ||
| 98 | + android:id="@+id/linearLayout"> | ||
| 99 | + | ||
| 100 | + </LinearLayout> | ||
| 101 | + | ||
| 102 | + | ||
| 103 | + | ||
| 104 | + </RelativeLayout> | ||
| 105 | + | ||
| 106 | + <!--推流--> | ||
| 107 | + <RelativeLayout | ||
| 108 | + android:id="@+id/rel_videoPlay_publish" | ||
| 109 | + android:layout_width="255dp" | ||
| 110 | + android:layout_height="wrap_content" | ||
| 111 | + android:layout_weight="1" | ||
| 112 | + android:layout_below="@+id/rel_videoPlay_play" | ||
| 113 | + android:layout_alignParentRight="true" | ||
| 114 | + android:layout_alignLeft="@+id/rel_videoPlay_play" | ||
| 115 | + android:layout_marginTop="8dp" | ||
| 116 | + > | ||
| 117 | + | ||
| 118 | + <SurfaceView | ||
| 119 | + android:id="@+id/sur_plaVideo_publish" | ||
| 120 | + android:layout_width="match_parent" | ||
| 121 | + android:layout_height="match_parent" | ||
| 122 | + android:visibility="gone" | ||
| 123 | + tools:visibility="visible" | ||
| 124 | + android:layout_alignParentRight="true" | ||
| 125 | + android:layout_alignParentBottom="true" | ||
| 126 | + /> | ||
| 127 | + <FrameLayout | ||
| 128 | + android:id="@+id/fra_videoPlay_student_cover" | ||
| 129 | + android:layout_width="match_parent" | ||
| 130 | + android:layout_height="match_parent" | ||
| 131 | + android:layout_centerInParent="true" | ||
| 132 | + > | ||
| 133 | + <ImageView | ||
| 134 | + android:layout_width="wrap_content" | ||
| 135 | + android:layout_height="wrap_content" | ||
| 136 | + android:background="@mipmap/student" | ||
| 137 | + tools:visibility="visible" | ||
| 138 | + android:layout_gravity="center" | ||
| 139 | + android:scaleType="fitCenter" | ||
| 140 | + /> | ||
| 141 | + </FrameLayout> | ||
| 142 | + | ||
| 143 | + <ImageView | ||
| 144 | + android:id="@+id/img_playVideo_publishAudio" | ||
| 145 | + android:layout_width="match_parent" | ||
| 146 | + android:layout_height="match_parent" | ||
| 147 | + android:background="@mipmap/audio_mode" | ||
| 148 | + android:visibility="gone" | ||
| 149 | + tools:visibility="visible" | ||
| 150 | + android:scaleType="fitCenter" | ||
| 151 | + android:layout_alignParentRight="true" | ||
| 152 | + android:layout_alignParentBottom="true" | ||
| 153 | + /> | ||
| 154 | + <FrameLayout | ||
| 155 | + android:id="@+id/fra_videoPlay_start" | ||
| 156 | + android:layout_width="50dp" | ||
| 157 | + android:layout_height="50dp" | ||
| 158 | + | ||
| 159 | + tools:visibility="visible" | ||
| 160 | + android:layout_alignParentLeft="true" | ||
| 161 | + android:layout_alignParentBottom="true" | ||
| 162 | + > | ||
| 163 | + <ImageView | ||
| 164 | + android:id="@+id/img_videoPlay_start" | ||
| 165 | + android:layout_width="20dp" | ||
| 166 | + android:layout_height="12dp" | ||
| 167 | + android:layout_marginTop="20dp" | ||
| 168 | + android:layout_marginLeft="5dp" | ||
| 169 | + android:background="@mipmap/camera_normal2x" | ||
| 170 | + /> | ||
| 171 | + </FrameLayout> | ||
| 172 | + <!--音频--> | ||
| 173 | + <FrameLayout | ||
| 174 | + android:id="@+id/fra_videoPlay_start_audio" | ||
| 175 | + android:layout_width="50dp" | ||
| 176 | + android:layout_height="50dp" | ||
| 177 | + android:layout_toRightOf="@+id/fra_videoPlay_start" | ||
| 178 | + tools:visibility="visible" | ||
| 179 | + android:layout_alignParentBottom="true" | ||
| 180 | + > | ||
| 181 | + <ImageView | ||
| 182 | + android:id="@+id/img_videoPlay_start_audio" | ||
| 183 | + android:layout_width="12dp" | ||
| 184 | + android:layout_height="20dp" | ||
| 185 | + android:layout_marginTop="15dp" | ||
| 186 | + android:background="@mipmap/mic_normal2x" | ||
| 187 | + /> | ||
| 188 | + </FrameLayout> | ||
| 189 | + | ||
| 190 | + <FrameLayout | ||
| 191 | + android:id="@+id/fra_videoPlay_stopPublish" | ||
| 192 | + android:layout_width="70dp" | ||
| 193 | + android:layout_height="50dp" | ||
| 194 | + android:visibility="gone" | ||
| 195 | + tools:visibility="visible" | ||
| 196 | + android:layout_alignParentLeft="true" | ||
| 197 | + android:layout_alignParentBottom="true" | ||
| 198 | + android:layout_alignBottom="@+id/sur_plaVideo_publish" | ||
| 199 | + > | ||
| 200 | + <ImageView | ||
| 201 | + android:id="@+id/img_videoPlay_stopPublish" | ||
| 202 | + android:layout_width="wrap_content" | ||
| 203 | + android:layout_height="wrap_content" | ||
| 204 | + android:layout_marginTop="20dp" | ||
| 205 | + android:layout_marginLeft="15dp" | ||
| 206 | + android:enabled="false" | ||
| 207 | + android:background="@mipmap/hangup_normal2x" | ||
| 208 | + /> | ||
| 209 | + </FrameLayout> | ||
| 210 | + </RelativeLayout> | ||
| 211 | + | ||
| 212 | + <LinearLayout | ||
| 213 | + android:id="@+id/ll_videoPlay_tablet_chat" | ||
| 214 | + android:layout_width="255dp" | ||
| 215 | + android:layout_height="match_parent" | ||
| 216 | + android:orientation="vertical" | ||
| 217 | + android:layout_marginTop="8dp" | ||
| 218 | + /> | ||
| 219 | + </LinearLayout> | ||
| 220 | + <!--Tablet文档--> | ||
| 221 | + <LinearLayout | ||
| 222 | + android:id="@+id/ll_videoPlay_tablet_doc" | ||
| 223 | + android:layout_width="match_parent" | ||
| 224 | + android:layout_height="match_parent" | ||
| 225 | + android:layout_weight="3" | ||
| 226 | + android:orientation="vertical" | ||
| 227 | + android:layout_marginRight="5dp" | ||
| 228 | + android:layout_marginLeft="5dp" | ||
| 229 | + android:layout_toLeftOf="@+id/ll_videoPlay_right" | ||
| 230 | + /> | ||
| 231 | + | ||
| 232 | + </RelativeLayout> | ||
| 233 | + <com.flyco.tablayout.SlidingTabLayout | ||
| 234 | + android:id="@+id/stl_videoPlay_tab" | ||
| 235 | + android:layout_width="match_parent" | ||
| 236 | + android:layout_height="@dimen/ui_titlebar_height" | ||
| 237 | + android:layout_alignParentLeft="true" | ||
| 238 | + android:layout_alignParentStart="true" | ||
| 239 | + android:background="#fafafa" | ||
| 240 | + custom:tl_indicator_color="@color/home_tab_selected" | ||
| 241 | + custom:tl_indicator_corner_radius="1.5dp" | ||
| 242 | + custom:tl_indicator_height="@dimen/ui_DIMEN_5.0PX" | ||
| 243 | + custom:tl_tab_space_equal="true" | ||
| 244 | + custom:tl_textSelectColor="@color/home_tab_selected" | ||
| 245 | + custom:tl_textUnselectColor="@color/home_tab_unselected" | ||
| 246 | + custom:tl_textsize="@dimen/ui_DIMEN_28.0PX"/> | ||
| 247 | + <com.mang.xuedianyun.android.widget.view.NoScrollViewPager | ||
| 248 | + android:id="@+id/viewpager" | ||
| 249 | + android:layout_below="@+id/stl_videoPlay_tab" | ||
| 250 | + android:layout_width="wrap_content" | ||
| 251 | + android:layout_height="wrap_content" | ||
| 252 | + android:layout_alignRight="@+id/stl_videoPlay_tab" | ||
| 253 | + | ||
| 254 | + | ||
| 255 | + android:background="@android:color/white" > | ||
| 256 | + | ||
| 257 | + </com.mang.xuedianyun.android.widget.view.NoScrollViewPager> | ||
| 258 | + | ||
| 259 | + | ||
| 260 | + <FrameLayout | ||
| 261 | + android:id="@+id/fl_media" | ||
| 262 | + android:layout_width="match_parent" | ||
| 263 | + android:layout_height="wrap_content" | ||
| 264 | + android:layout_alignParentBottom="true" | ||
| 265 | + > | ||
| 266 | + <include | ||
| 267 | + layout="@layout/home_media_controller" | ||
| 268 | + android:layout_width="match_parent" | ||
| 269 | + android:layout_height="wrap_content"/> | ||
| 270 | + </FrameLayout> | ||
| 271 | + | ||
| 272 | + | ||
| 273 | +</RelativeLayout> |
| 1 | +<?xml version="1.0" encoding="utf-8"?> | ||
| 2 | +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||
| 3 | + xmlns:tools="http://schemas.android.com/tools" | ||
| 4 | + android:id="@+id/activity_video_play" | ||
| 5 | + android:layout_width="match_parent" | ||
| 6 | + android:layout_height="match_parent" | ||
| 7 | + android:orientation="vertical" | ||
| 8 | + tools:context="com.mang.xuedianyun.android.activity.VideoPlayActivity"> | ||
| 9 | + <RelativeLayout | ||
| 10 | + android:layout_width="wrap_content" | ||
| 11 | + android:layout_height="wrap_content" | ||
| 12 | + android:visibility="gone" | ||
| 13 | + > | ||
| 14 | + <SurfaceView | ||
| 15 | + android:id="@+id/surfaceview_playVideo" | ||
| 16 | + android:layout_width="match_parent" | ||
| 17 | + android:layout_height="200dp" | ||
| 18 | + android:visibility="gone"/> | ||
| 19 | + <ImageView | ||
| 20 | + android:id="@+id/img_playVideo_novideo" | ||
| 21 | + android:layout_width="match_parent" | ||
| 22 | + android:layout_height="200dp" | ||
| 23 | + android:background="@mipmap/novideo" | ||
| 24 | + /> | ||
| 25 | + </RelativeLayout> | ||
| 26 | + <SurfaceView | ||
| 27 | + android:id="@+id/surfaceview_pubisherVideo" | ||
| 28 | + android:layout_width="match_parent" | ||
| 29 | + android:layout_height="300dp" /> | ||
| 30 | + <android.support.design.widget.TabLayout | ||
| 31 | + android:id="@+id/sliding_tabs" | ||
| 32 | + android:layout_width="match_parent" | ||
| 33 | + android:layout_height="wrap_content" | ||
| 34 | + /> | ||
| 35 | + | ||
| 36 | + <android.support.v4.view.ViewPager | ||
| 37 | + android:id="@+id/viewpager" | ||
| 38 | + android:layout_width="match_parent" | ||
| 39 | + android:layout_height="0px" | ||
| 40 | + android:layout_weight="1" | ||
| 41 | + android:background="@android:color/white" /> | ||
| 42 | + <TextView | ||
| 43 | + android:id="@+id/tv_videoPlay_url" | ||
| 44 | + android:layout_width="wrap_content" | ||
| 45 | + android:layout_height="wrap_content" | ||
| 46 | + /> | ||
| 47 | + <LinearLayout | ||
| 48 | + android:layout_width="match_parent" | ||
| 49 | + android:layout_height="wrap_content" | ||
| 50 | + android:orientation="horizontal"> | ||
| 51 | + <Button | ||
| 52 | + android:id="@+id/btn_videoPlay_chat" | ||
| 53 | + android:layout_width="wrap_content" | ||
| 54 | + android:layout_height="wrap_content" | ||
| 55 | + android:text="发送hello" | ||
| 56 | + android:visibility="gone" | ||
| 57 | + /> | ||
| 58 | + <Button | ||
| 59 | + android:id="@+id/btn_videoPlay_pubsherVideo" | ||
| 60 | + android:layout_width="wrap_content" | ||
| 61 | + android:layout_height="wrap_content" | ||
| 62 | + android:text="获取推流地址推送视频" | ||
| 63 | + android:enabled="false" | ||
| 64 | + /> | ||
| 65 | + <Button | ||
| 66 | + android:id="@+id/btn_videoPlay_publisherAudio" | ||
| 67 | + android:layout_width="wrap_content" | ||
| 68 | + android:layout_height="wrap_content" | ||
| 69 | + android:text="获取推流地址推送音频" | ||
| 70 | + android:enabled="false" | ||
| 71 | + /> | ||
| 72 | + <Button | ||
| 73 | + android:id="@+id/btn_videoPlay_stop" | ||
| 74 | + android:layout_width="wrap_content" | ||
| 75 | + android:layout_height="wrap_content" | ||
| 76 | + android:text="停止推流" | ||
| 77 | + /> | ||
| 78 | + </LinearLayout> | ||
| 79 | +</LinearLayout> |
| 1 | +<?xml version="1.0" encoding="utf-8"?> | ||
| 2 | +<LinearLayout | ||
| 3 | + android:layout_width="@dimen/ui_DIMEN_500.0PX" | ||
| 4 | + android:layout_height="wrap_content" | ||
| 5 | + android:layout_centerInParent="true" | ||
| 6 | + android:background="@drawable/radius_solid_white_stroke_999" | ||
| 7 | + android:gravity="center_horizontal" | ||
| 8 | + android:orientation="vertical" | ||
| 9 | + android:paddingBottom="@dimen/ui_DIMEN_20.0PX" | ||
| 10 | + xmlns:android="http://schemas.android.com/apk/res/android"> | ||
| 11 | +<EditText | ||
| 12 | + android:id="@+id/dialog_edt_username" | ||
| 13 | + style="@style/home_login_edit_style" | ||
| 14 | + android:hint="用户名"/> | ||
| 15 | + <EditText | ||
| 16 | + android:id="@+id/dialog_edt_userpwd" | ||
| 17 | + style="@style/home_login_edit_style" | ||
| 18 | + android:hint="密码"/> | ||
| 19 | + <Button | ||
| 20 | + android:id="@+id/dialog_btn_enter" | ||
| 21 | + android:layout_width="100dp" | ||
| 22 | + android:layout_height="wrap_content" | ||
| 23 | + style="@style/home_site_btn_style" | ||
| 24 | + android:text="登录" | ||
| 25 | + /> | ||
| 26 | +</LinearLayout> |
| 1 | +<?xml version="1.0" encoding="utf-8"?> | ||
| 2 | +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||
| 3 | + android:id="@+id/ll_chat_fragment_parent" | ||
| 4 | + android:layout_width="match_parent" | ||
| 5 | + android:layout_height="match_parent" | ||
| 6 | + android:background="#ebebeb" | ||
| 7 | + android:orientation="vertical"> | ||
| 8 | + | ||
| 9 | + <com.mang.xuedianyun.android.widget.chat.KJChatKeyboard | ||
| 10 | + android:id="@+id/chat_msg_input_box" | ||
| 11 | + android:layout_width="match_parent" | ||
| 12 | + android:layout_height="wrap_content" | ||
| 13 | + android:layout_alignParentBottom="true" /> | ||
| 14 | + | ||
| 15 | + <ListView | ||
| 16 | + android:id="@+id/chat_listview" | ||
| 17 | + android:layout_width="match_parent" | ||
| 18 | + android:layout_height="match_parent" | ||
| 19 | + android:layout_above="@+id/chat_msg_input_box" | ||
| 20 | + android:cacheColorHint="#00000000" | ||
| 21 | + android:divider="@null" | ||
| 22 | + android:dividerHeight="8.33dp" | ||
| 23 | + android:scrollbarStyle="outsideOverlay" | ||
| 24 | + android:transcriptMode="normal" /> | ||
| 25 | + | ||
| 26 | + <View | ||
| 27 | + android:id="@+id/view_line" | ||
| 28 | + android:layout_width="match_parent" | ||
| 29 | + android:layout_height="1dp" | ||
| 30 | + android:layout_below="@id/chat_listview" | ||
| 31 | + android:background="#7fd8d8d8" /> | ||
| 32 | + | ||
| 33 | + | ||
| 34 | + <!-- --> | ||
| 35 | + | ||
| 36 | +</RelativeLayout> |
| 1 | +<?xml version="1.0" encoding="utf-8"?> | ||
| 2 | +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||
| 3 | + android:orientation="vertical" android:layout_width="match_parent" | ||
| 4 | + android:layout_height="match_parent"> | ||
| 5 | + <com.mang.xuedianyun.android.widget.CanvasView | ||
| 6 | + android:id="@+id/canvas_doc_show" | ||
| 7 | + android:layout_width="wrap_content" | ||
| 8 | + android:layout_height="wrap_content" /> | ||
| 9 | +</RelativeLayout> |
-
请 注册 或 登录 后发表评论