1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > android Tv盒子开发 焦点

android Tv盒子开发 焦点

时间:2023-06-07 14:10:48

相关推荐

android Tv盒子开发 焦点

不知不觉入坑做电视两年多了,终于有时间停下来写点什么,希望对大家用用。

TV开发最大的特色是焦点和焦点动画。

由于电视机输入方式是按键,因此焦点很重要。焦点相当于选中效过果,只有被选中后,那个view才能被点击。

要想让一个view获取焦点,代码如下

view.setFocusable(true); view.requestFocus();

view的聚焦状态是可以监听的,

view.setOnFocusChangeListener(newView.OnFocusChangeListener() {@Overridepublic voidonFocusChange(View v,booleanhasFocus) {if(hasFocus){//v 获得焦点 }else{//v 失去焦点 }}});

一般焦点相关的效果都是这这个监听器里处理的,如当获取焦点时我让view变大,失去焦点的时候恢复正常大小。

完整代码

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="/apk/res/android" xmlns:tools="/tools" android:layout_width="match_parent" android:layout_height="match_parent" ><TextView android:id="@+id/select1" android:layout_width="200px" android:layout_height="300px" android:background="#f00" android:layout_centerVertical="true" android:layout_marginLeft="200px" android:text="菜单一" android:textSize="70px" android:gravity="center" android:focusableInTouchMode="true" ></TextView><TextView android:id="@+id/select2" android:layout_toRightOf="@+id/select1" android:layout_width="200px" android:layout_height="300px" android:background="#ff0" android:layout_centerVertical="true" android:layout_marginLeft="200px" android:text="菜单二" android:textSize="70px" android:gravity="center" ></TextView></RelativeLayout>

packagecom.example.administrator.myapplication;importandroid.graphics.Color;importandroid.support.v7.app.AppCompatActivity;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.TextView;public classMainActivityextendsAppCompatActivity {View view,view2;@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);view=findViewById(R.id.select1);view.setFocusable(true);//设置改view可以获得焦点 view.requestFocus();//让该view取得焦点 view.setOnFocusChangeListener(newView.OnFocusChangeListener() {@Overridepublic voidonFocusChange(View v,booleanhasFocus) {TextView textView= (TextView) v;if(hasFocus){//v 获得焦点v.setScaleX(1.2f);v.setScaleY(1.2f);textView.setTextColor(Color.GREEN);}else{//v 失去焦点 v.setScaleX(1f);v.setScaleY(1f);textView.setTextColor(Color.BLACK);}}});view2=findViewById(R.id.select2);view2.setFocusable(true);view2.requestFocus();view2.setOnFocusChangeListener(newView.OnFocusChangeListener() {@Overridepublic voidonFocusChange(View v,booleanhasFocus) {if(hasFocus){//v 获得焦点v.setScaleX(1.2f);v.setScaleY(1.2f);}else{//v 失去焦点 v.setScaleX(1f);v.setScaleY(1f);}}});}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。