馬上加入Android 台灣中文網,立即免費下載應用遊戲。
您需要 登錄 才可以下載或查看,沒有帳號?註冊
x
小弟我因初學者正在看一本文淵工作室所發行的書
卡在這個範例,功能字體和背景顏色都沒動作是否
有大大可幫忙看一下那裡有錯誤
開發軟體:AndroidStudio AVD:Samsung Note2 API19
程式碼如下
layout:
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"
android:id="@+id/myLayout"
tools:context=".MainActivity">
<TextView
android:id="@+id/txtShow1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="請按此1秒修改背景顏色"
android:textColor="#0000FF"
android:textSize="18sp" android:padding="10px"
/>
<TextView
android:id="@+id/txtShow2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/txtShow1"
android:text="請按此1秒修改文字大小"
android:textColor="#0000FF"
android:textSize="18sp"
android:padding="10px"
/>
</RelativeLayout>
MainActivity.java:
package com.example.user.excontextmenu;
import android.content.Context;
import android.graphics.Color;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.RelativeLayout;
import android.widget.TextView;
public class MainActivity extends ActionBarActivity {
RelativeLayout myLayout;
TextView txtShow1;
TextView txtShow2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myLayout=(RelativeLayout)findViewById(R.id.myLayout);
txtShow1=(TextView)findViewById(R.id.txtShow1);
txtShow2=(TextView)findViewById(R.id.txtShow2);
registerForContextMenu(txtShow1);
registerForContextMenu(txtShow2);
}
protected static final int MENU_BLACKCOLOR = Menu.FIRST ;
protected static final int MENU_WHITECOLOR = Menu.FIRST +1;
protected static final int MENU_SMALLSIZE = Menu.FIRST +2;
protected static final int MENU_LARGESIZE = Menu.FIRST +3;
public void onCreateContextMenu(ContextMenu menu,View v,
ContextMenu.ContextMenuInfo menuInfo)
{
super.onCreateContextMenu(menu,v,menuInfo);
if(v==txtShow1)
{
menu.add(0,MENU_BLACKCOLOR,1,"黑色背景顏色");
menu.add(0,MENU_WHITECOLOR,2,"白色背景顏色");
}
else if(v==txtShow2)
{
menu.add(0,MENU_SMALLSIZE,1,"較小字體");
menu.add(0,MENU_LARGESIZE,2,"較大字體");
}
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId())
{
case MENU_BLACKCOLOR:
myLayout.setBackgroundColor(Color.BLACK);
break;
case MENU_WHITECOLOR:
myLayout.setBackgroundColor(Color.WHITE);
break;
case MENU_SMALLSIZE:
txtShow1.setTextSize(12);
txtShow2.setTextSize(12);
break;
case MENU_LARGESIZE:
txtShow1.setTextSize(22);
txtShow2.setTextSize(22);
break;
}
return super.onOptionsItemSelected(item);
}
}
|
|