A. android屏幕旋轉,webview重新載入
在create時候加個狀態判斷
protected void onCreate(Bundle savedInstanceState){
...
if (savedInstanceState == null)
{
mWebView.loadUrl("your_url");
}
...
}
2. 重載保存狀態的函數:
@Override
protected void onSaveInstanceState(Bundle outState )
{
super.onSaveInstanceState(outState);
mWebView.saveState(outState);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState)
{
super.onRestoreInstanceState(savedInstanceState);
mWebView.restoreState(savedInstanceState);
}
B. android view怎麼用
View類是Android的一個超類,這個類幾乎包含了所有的屏幕類型。每一個View都有一個用於繪圖的畫布,這個畫布可以進行任意擴展。在游戲開發中葉可以自定義視圖(View),這個畫布的功能更能滿足我們在游戲開發中的需要。在Android中,任何一個View類都只需重寫onDraw 方法來實現界面顯示,自定義的視圖可以是復雜的3D實現,也可以是非常簡單的文本形式等。 游戲中最重要的就是需要與玩家交互,比如鍵盤輸入、觸筆點擊事件,我們如何來處理這些事件呢?Android中提供了 onKeyUp、onKeyDown、onKeyMultiple、onKeyPreIme、onTouchEvent、onTrackballEvent等方法,可以輕松地處理游戲中的事件信息。所以,在繼承View時,需要重載這幾個方法,當有按鍵按下或彈起等事件時,按鍵代碼自動會傳輸給這些相應的方法來處理。 游戲的核心是不斷地繪圖和刷新界面,圖我們已經通過onDraw 方法繪制了,下面來分析如何刷新界面。Android中提供了 invalidate 方法來實現界面刷新,注意,invalidate 不能直接在線程中調用, 就是不可以在子線程中調用明白乎?因為它違背了 Android的單線程模型:Android UI操作並不是線程安全的,並且這些操作必須在UI 線程中執行,因此Android中最常用的方法就是利用Handler來實現UI線程的更新。 其實用 AsyncTask 也可以。
C. Android 怎麼旋轉TextView文字顯示方向
在一個項目中,需要旋轉TextView的文字顯示方向,怎麼實現呢?這里提供一種變通的方法來實現該功能:Animation動畫,保存動畫結束狀態來實現該功能。
主要代碼如下:
1、定義一個anim xml資源文件rotate_right.xml
Html代碼
<?xml version="1.0" encoding="utf-8"?>
<set>
<rotate xmlns:android="IP" android:interpolator="@android:anim/linear_interpolator"
android:fromDegrees="0" android:toDegrees="-90" android:ration="0"
android:pivotX="50%" android:pivotY="50%" android:repeatCount="0" />
</set>
2、設置textview播放動畫
java代碼
private Animation mAnimationRight;
private TextView mlblRightPhotoNum;
mAnimationRight = AnimationUtils.loadAnimation(mContext, R.anim.rotate_right);
mAnimationRight.setFillAfter(true);
mlblRightPhotoNum = (TextView) findViewById(R.id.lblRightPhotoNum);
mlblRightPhotoNum.setAnimation(mAnimationRight);
總結:主要用到了Animation 的 setFillAfter(boolean b)方法,該方法表示是否保持動畫結束時狀態;
D. 如何使android布局webview gif旋轉90度
可以使用android 的animation類,可以進行旋轉和一些基本的向左向右的動作。
E. Android View知識
1, View是除了Android四大組件外,最常用的東西
2,什麼是View:
View是android中所有控制項的父類,比如TextView,LinearLayout等等
其中LinearLayout繼承自控制項組ViewGroup,當然ViewGroup也是繼承自View
3,View的位置
top:左上角縱坐標
left:左上角橫坐標
right:右下角橫坐標
bottom:右下角縱坐標
如下圖:
4,view的MotionEvent和TouchSlop
4.1MotionEvent:
ACTION_DOWN:手指接觸屏幕
ACTION_MOVE:手指在屏幕上滑動
ACTION_UP:手指離開屏幕。
4.2TouchSlop
處理滑動時的過濾條件,簡單來說就是,手指在屏幕上的一次操作算不算滑動。
系統默認值:ViewConfiguration.get(context).getScaledTouchSlop()
5,getX()getY()和getRawX()和getRawY()
前兩者相對於父控制項View 後兩者相對於手機屏幕
6,VelocityTracker,GestureDetector,Scroller
6.1VelocityTracker:滑動速度,在view的ontouch事件中,查看速度
6.2 GestureDetector:手勢判斷,比如長按,點擊,雙擊等,很少用,可以用 ontouch事件來代替
6.3Scroller:彈性滑動對象,實現view的位置改變等
7,原始滑動方式
7.1:ScrollerTo和Scroller By()
實現簡單 但是只能滑動view裡面的子元素
7.2:改變view參數
實現復雜,但是如果view有交互,這種方式比較好
7.3:動畫
適用於沒有交互的,或者動畫復雜的view的滑動
8View的事件分發:
8.1:Activity-window-View
8.2:view中是從父到子,也就是從外到內,都不處理,返回給最頂級
8.3:ViewGroup默認不攔截任何事件,默認返回false
8.4:分發方法:dispatchTouchEvent,OnInterceptTouchEvent,OnTouchEvent
dispatchTouchEvent:分發
OnInterceptTouchEvent:攔截
OnTouchEvent:處理點擊事件
F. android製作一個可以旋轉textview怎麼實現
android製作一個可以旋轉textview需要用到補間動畫,然後用textview調用該補間動畫。在andorid studio中實現步驟如下。
1、首先在一個layout布局中創建一個textView控制項,並定義id。代碼如下:
<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
2、然後創建anim文件,在然後文件中創建一個xml文件,文件中為tv_rotate。文件內容如下。
運行之後textView就可以旋轉了。
G. android中如何進行多個view進行動畫切換
這個首選需要你的手機是四核及以上,這是硬體要求,再者就是你每次打開視頻或者游戲界面看看是否有沒有在手機右側有個小窗口等類似字眼,點擊下,即可。
H. android怎麼實現圖片旋轉
可以使用RotateAnimation動畫實現,設定無限循環即可
代碼如下
{
ImageViewiv;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_two);
iv=(ImageView)findViewById(R.id.image);
RotateAnimationanimation=newRotateAnimation(0,360);
animation.setDuration(100000);//設定轉一圈的時間
animation.setRepeatCount(Animation.INFINITE);//設定無限循環
animation.setRepeatMode(Animation.RESTART);
iv.startAnimation(animation);
}
}
也可以自定義view繼承於imageview,啟動一個線程,在while循環里設置view的旋轉角度
{
privatefloatmCurDegree=0;//當前旋轉角度
publicRotateView(Contextcontext,AttributeSetattrs){
super(context,attrs);
newThread(this).start();
}
@Override
protectedvoidonLayout(booleanchanged,intleft,inttop,intright,
intbottom){
super.onLayout(changed,left,top,right,bottom);
//設定旋轉中心
setPivotX(getMeasuredWidth()/2);
setPivotY(getMeasuredHeight()/2);
}
@Override
publicvoidrun(){
while(true){
setRotation(mCurDegree);
mCurDegree+=5;
postInvalidate();
SystemClock.sleep(16);
}
}
}
在布局文件里使用RotateView代替imageview即可