import android.widget.Button; //导入方法依赖的package包/类
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_reg);
//xmlファイルとの紐づけ
btn_issue = (Button)findViewById(R.id.button_issue);
hidebtn_reset = (Button)findViewById(R.id.hide_button);
btn_share = (ImageButton)findViewById(R.id.button_share);
btn_findmode = (ImageButton)findViewById(R.id.button_findmode);
id_box = (EditText)findViewById(R.id.text_id);
text_idshow = (TextView)findViewById(R.id.id_show);
btnmsg_sh = (TextView)findViewById(R.id.text_share);
btnmsg_se = (TextView)findViewById(R.id.text_search);
error_message = (TextView)findViewById(R.id.error_msg);
app = (MeePaApp) this.getApplication();
app.loadUserInfo();
user_name = app.getSelfUserName();
myID = app.getSelfUserId();
id_box.setText(user_name, TextView.BufferType.NORMAL);
text_idshow.setText(myID);
//フォント設定
btn_issue.setTypeface( Typeface.createFromAsset( getAssets(), "FLOPDesignFont.ttf" ), Typeface.NORMAL );
id_box.setTypeface( Typeface.createFromAsset( getAssets(), "FLOPDesignFont.ttf" ), Typeface.NORMAL );
text_idshow.setTypeface( Typeface.createFromAsset( getAssets(), "FLOPDesignFont.ttf" ), Typeface.NORMAL );
hidebtn_reset.setTypeface( Typeface.createFromAsset( getAssets(), "FLOPDesignFont.ttf" ), Typeface.NORMAL );
btnmsg_sh.setTypeface( Typeface.createFromAsset( getAssets(), "FLOPDesignFont.ttf" ), Typeface.NORMAL );
btnmsg_se.setTypeface( Typeface.createFromAsset( getAssets(), "FLOPDesignFont.ttf" ), Typeface.NORMAL );
error_message.setTypeface( Typeface.createFromAsset( getAssets(), "FLOPDesignFont.ttf" ), Typeface.NORMAL );
hidebtn_reset.setAllCaps(false);
hidebtn_reset.setText("Your Name");
error_message.setGravity(Gravity.CENTER);
//各ボタンのClickListenerの宣言
btn_issue.setOnClickListener(issListener);
hidebtn_reset.setOnClickListener(hideListener);
btn_share.setOnClickListener(shaListener);
btn_findmode.setOnClickListener(findListener);
// ボタンの幅,高さが決定してから幅=高さに揃える
// ViewTreeObserverを利用
// 参考 : http://tech.admax.ninja/2014/09/17/how-to-get-the-height-and-width-of-the-view/
// https://anz-note.tumblr.com/post/96096731156/androidで動的に縦幅あるいは横幅に合わせて正方形のviewを作成したい
final ViewTreeObserver observer = btn_share.getViewTreeObserver();
observer.addOnGlobalLayoutListener(
new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
// ボタンの幅=高さにする
// Log.d("btn", btn_share.getWidth() + ", " + btn_share.getHeight());
ViewGroup.LayoutParams params = btn_share.getLayoutParams();
// 短辺の長さに長辺を揃える
if (btn_share.getWidth() < btn_share.getHeight())
params.height = btn_share.getWidth();
else params.width = btn_share.getHeight();
// 位置調整用に幅・高さの差をとる
int diff = btn_share.getHeight() - btn_share.getWidth();
btn_share.setLayoutParams( params );
btn_findmode.setLayoutParams( params );
// 表示位置を調整
if ( diff > 0 ) { // 高さを幅に合わせた(縦幅が縮んだ)場合Y座標を調整
btn_share.setTranslationY( diff/2 );
btn_findmode.setTranslationY( diff/2 );
} else { // 幅に高さを合わせた(横幅が縮んだ)場合X座標を調整
btn_share.setTranslationX( -diff/2 );
btn_findmode.setTranslationX( -diff/2 );
}
removeOnGlobalLayoutListener(btn_share.getViewTreeObserver(), this);
}
});
}