一:相關設置
1:主題設置
File-->Settings-->Appearance &Behavior-->Appearance-->THeme
2:Java源碼的顏色、字體設置
字體:File-->Settings-->Editor-->Colors&Fonts-->Font
注意:修改之前先Save as保存原來的,然后才可以改成你想要的字體。
源碼顏色:File-->Settings-->Editor-->Colors&Fonts-->Java-->在底下的代碼中選擇相應的代碼-->在右上雙擊Foreground改變顏色
3:如果不想要白色的背景,可以這樣修改:
File-->Settings-->Editor-->Colors&Fonts-->General-->Save as -->雙擊Background(右上)后邊的框即可改變顏色。
二:實現存在於工程目錄中的視頻播放(思路將按照我的項目實際過程來展開)
1:在Android 中播放視頻的方式有兩種:
*第一種方式是使用MediaPlayer 結合SurfaceView 來播放,通過MediaPlayer來控制視頻的播放、暫停、進度等;
通過SurfaceView 來顯示視頻內容;
優點:靈活性高,可以進行自定義;
缺點:難度比較大;
*第二種方式是使用VideoView 來播放,這個類其實也是繼承了SurfaceView 類,並且實現了MediaController.
MediaPlayerController 這個用於控制媒體播放的接口,另外在VideoView上還有一個用於對媒體播放進行控制
的面板,包括快進、快退、播放、暫停按鈕以及一個進度條;
優點:比較簡單,可以直接進行使用;
缺點:靈活性不高;
2、下面介紹VideoView的使用方法:
視頻路徑設置:
1 video.setVideoURI(Uri.parse("android.resource://com.example.zhaowanlxx.xinxin/" + R.raw.cc_1)); 2 video.start();
媒體控制面版常用方法:MediaController:
* hide(); 隱藏MediaController;
* show(); 顯示MediaController;
* show(int timeout); 設置MediaController顯示的時間,以毫秒計算,如果設置為0則一直到調用hide()時隱藏;
三:步驟
1:首先建立一個android studio工程
2:在res下面建立一個raw文件夾,將視頻放進去。
3:然后編碼實現:源代碼參考:
seevideo.java:
2 import java.io.File; 3 import android.app.Activity; 4 import android.content.Intent; 5 import android.media.MediaPlayer; 6 import android.media.MediaPlayer.OnCompletionListener; 7 import android.net.Uri; 8 import android.os.Bundle; 9 import android.widget.MediaController; 10 import android.widget.RelativeLayout; 11 import android.widget.Toast; 12 import android.widget.VideoView; 13 public class seevideo extends Activity{ 14 15 private VideoView video; 16 17 /** Called when the activity is firstcreated. */ 18 @Override 19 public void onCreate(Bundle savedInstanceState) { 20 super.onCreate(savedInstanceState); 21 setContentView(R.layout.video); 22 23 video=(VideoView) findViewById(R.id.video); 24 MediaController mc=new MediaController(seevideo.this); // 創建一個MediaController對象 25 video.setMediaController(mc); // 將VideoView與MediaController關聯起來 26 video.setVideoURI(Uri.parse("android.resource://com.example.zhaowanlxx.xinxin/" + R.raw.cc_1)); 27 video.requestFocus(); // 設置VideoView獲取焦點 28 29 try { 30 video.start(); // 播放視頻 31 }catch(Exception e) { 32 e.printStackTrace(); 33 } 34 35 // 設置VideoView的Completion事件監聽器 36 video.setOnCompletionListener(new OnCompletionListener() { 37 @Override 38 public void onCompletion(MediaPlayer mp) { 39 Toast.makeText(seevideo.this, "視頻播放完畢!", Toast.LENGTH_SHORT).show(); 40 finish(); 41 } 42 }); 43 44 45 } 46 47 48 }
video.xml:
1 <?xml version="1.0" encoding="utf-8"?> 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 4 5 android:layout_width="match_parent" 6 android:layout_height="match_parent" 7 android:orientation="vertical" > 8 9 <VideoView 10 android:id="@+id/video" 11 android:layout_width="match_parent" 12 android:layout_height="match_parent" 13 android:layout_gravity="center" /> 14 15 </RelativeLayout>
4:然后你會發現很多問題:
(1)想讓視頻全屏:
在Activity的onCreate方法中的setContentView(myview)調用之前添加下面代碼
1 requestWindowFeature(Window.FEATURE_NO_TITLE);//隱藏標題 2 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 3 WindowManager.LayoutParams.FLAG_FULLSCREEN);//設置全屏
(2)想橫屏觀看:
注:豎屏為:SCREEN_ORIENTATION_PORTRAIT
橫屏為:SCREEN_ORIENTATION_LANDSCAPE
1 @Override 2 protected void onResume() { 3 /* 設置為橫屏 */ 4 if(getRequestedOrientation()!=ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE){ 5 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 6 } 7 super.onResume(); 8 }
或者:在配置文件AndroidManifest.xml中對Activity節點添加android:screenOrientation屬性(landscape是橫向,portrait是縱向)
1 android:launchMode="singleTask" 2 android:screenOrientation="portrait">
***關於Android中Activity的橫豎屏切換問題可以通過AndroidManifest.xml文件中的Activity來配置:
1 android:screenOrientation=["unspecified" | "user" | "behind" | 2 "landscape" | "portrait" | 3 "sensor" | "nonsensor"] 4 screenOrientation 用來指定Activity的在設備上顯示的方向,每個值代表如下含義: 5 "unspecified" 默認值 由系統來判斷顯示方向.判定的策略是和設備相關的,所以不同的設備會有不同的顯示方向. 6 "landscape" 橫屏顯示(寬比高要長) 7 "portrait" 豎屏顯示(高比寬要長) 8 "user" 用戶當前首選的方向 9 "behind" 和該Activity下面的那個Activity的方向一致(在Activity堆棧中的) 10 "sensor" 有物理的感應器來決定。如果用戶旋轉設備這屏幕會橫豎屏切換。 11 "nosensor" 忽略物理感應器,這樣就不會隨着用戶旋轉設備而更改了 ( "unspecified"設置除外 )。
(3)不加任何旋轉屏幕的處理代碼的時候,旋轉屏幕將會導致系統把當前activity關閉。
解決:
如果只是簡單的界面調整,我們可以阻止此問題的發生,屏幕旋轉而自己調整屏幕的元素重構。
首先我們需要修改AndroidManifest.xml文件:
在activity中添加:
1 <activity> 2 android:configChanges="orientation|keyboard" 3 </activity>
這樣是讓程序能夠響應旋轉屏幕的事件。
然后重寫onConfigurationChanged方法:
1 @Override 2 public void onConfigurationChanged(Configuration newConfig) { 3 // TODO Auto-generated method stub 4 super.onConfigurationChanged(newConfig); 5 Log.v(" == onConfigurationChanged"); 6 processLayout(); 7 }