您的位置:首页 > 移动开发 > Android开发

Android视频的全屏切换

2016-03-30 09:07 525 查看
        安卓视频播放的全屏播放其实很简单,就是做横竖两套布局,横布局只有播放器就可以了,具体做法如下:

        在res目录下新建一个目录,起名为layout-land,存放横屏的布局,注意横屏布局的存放目录名称必须命名成layout-land,否则程序不能自动识别到横屏布局。然后在layout-land目录下建立一个和想要做横竖屏切换的布局相同名字的xml文件。

        为了方便起见,这里的例子只是放了可以区别横竖屏的控件,首先看一下竖屏的布局。

        layout/activity_main.xml

        


        代码如下:

    

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="${relativePackage}.${activityClass}" >

<ImageView
android:id="@+id/iv"
android:layout_width="match_parent"
android:layout_height="300dp"
android:src="@color/black"/>

<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="点我改变方向"
android:layout_below="@id/iv"
android:layout_alignStart="@id/iv"/>

</RelativeLayout>


        再来看一下横屏的布局。

        layout-land/activity_main.xml

        


    

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="${relativePackage}.${activityClass}" >

<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="点我改变方向"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
/>

<ImageView
android:id="@+id/iv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_toStartOf="@id/btn"
android:src="@color/black"/>

</RelativeLayout>


        注意要保证横纵布局的控件ID相同,不然你要写两套监听事件了。

        接下来到了重中之重了,切换布局的时候,只需判断屏幕方向进行切换即可。

public class MainActivity extends Activity implements OnClickListener {
<span style="white-space:pre">	</span>
<span style="white-space:pre">	</span>private Button mBtn;

<span style="white-space:pre">	</span>@Override
<span style="white-space:pre">	</span>protected void onCreate(Bundle savedInstanceState) {
<span style="white-space:pre">		</span>super.onCreate(savedInstanceState);
<span style="white-space:pre">		</span>setContentView(R.layout.activity_main);

<span style="white-space:pre">		</span>mBtn = (Button) findViewById(R.id.btn);
<span style="white-space:pre">		</span>mBtn.setOnClickListener(this);
<span style="white-space:pre">	</span>}

<span style="white-space:pre">	</span>@Override
<span style="white-space:pre">	</span>public void onClick(View v) {

<span style="white-space:pre">		</span>// 如果屏幕方向不是横屏的话,就让屏幕方向变成横屏,否则变成竖屏
<span style="white-space:pre">		</span>if (getRequestedOrientation() != ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) {
<span style="white-space:pre">			</span>setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
<span style="white-space:pre">		</span>} else {
<span style="white-space:pre">			</span>setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
<span style="white-space:pre">		</span>}
<span style="white-space:pre">	</span>}
}

        大功告成,看看效果吧!

        


        
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android