AndroidでFrameLayoutの上にボタンを重ねるとボタンが半透明になってしまう件

結論

【解決したい課題】AndroidでFrameLayoutの上にボタンを重ねると、ボタンが半透明になってしまい超見難いのをどうにかしたい。
【解決方法】アプリのスタイルを見直せばよい。


詳細

FrameLayoutにSurfaceViewを作ってそこに画像を描くアプリを作っていた。
操作用のボタンを設置しようとして、ググったところFrameLayoutを使って重ね合わせるのが定石だということでやってみた。
わかりやすくするため、肝の部分だけソースコードを書くとこんな感じ。

activity_main.xml その1:

<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=".MainActivity" >

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#ff000000" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center" >
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="ボタンですよ" />
        </LinearLayout>
    </FrameLayout>
</RelativeLayout>

MainActivity.java その1:

package com.example.test1;

import android.os.Bundle;
import android.app.Activity;

public class MainActivity extends Activity {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	}
}

このアプリの画面は次の通り。ボタンが半透明になっていることがわかるだろうか。

その1

続きを読む

久しぶりにAndroidアプリ開発

ずいぶんご無沙汰していたのだが、久しぶりにAndroidアプリ開発をほそぼそと再開していた。
以前はLinux(32ビット)上で開発していたのだが、Android Studioをはじめいろんなツールが64ビットのLinuxでないと動かないので、ツール導入時点で立ち止まっていた。
今使っている64ビットのWindows 10であれば問題はないのだが、JAVA (JDK) を入れたり、いろんなツールを入れたりというのはなんかやだなあとか、VMwareを使って仮想環境から立ち上げるのも面倒だなあとか、いろいろ理由をつけて逃げ回っていた。
続きを読む

Android - GPSが全く動かない

ポケモンGO楽しいよね~
歩くと卵が孵化するのがいいよ。
ウォーキングのモチベーションアップになっている。

さて、問題はGPS。

ポケモンGOを入れたあたりから、GPSでなかなか測位できない場合が頻発。
GPS Status & ToolboxなどでGPSの様子をモニターしてみると、ひらけた屋外であるにも関わらず、衛星が全く1個も捕捉できていないらしい。
本体を再起動してみると、直ったり直らなかったり。
ポケGOやGPS Status & Toolboxを再インストールすると直るが、しばらくするとまた不調に。

なんだかな~と困っていたところ、こんなサイトを見つけた。

山旅ロガーというAndroidアプリのサポート掲示板 http://kamoland.com/cgi/cb/c-board.cgi?cmd=one;no=1492;id=#1492

Re:完全に測位できなくなった kamoland - 2016/8/25(木) 12:27 -

携帯電波圏外では測位まで10分ぐらい時間がかかるという現象はありますが,
全く機能しないとなると,違うようです.

このスレッドの内容が近いかも知れません.
http://kamoland.com/cgi/cb/c-board.cgi?cmd=one;no=1448;id=#1448
この場合は,Google Play開発者サービスを初期化して,解消されたようです.

また,似たような件で,Google Playストアのアプリが悪さをしていたという件もあるようです.
http://www.yamareco.com/modules/yamanote/detail.php?nid=1684

私の場合だと、「Google Playストア」を無効(正しくは、アップデートをアンインストールしてから無効)にしたところ、劇的に改善。
GPSが全く動かない、衛星が1個も捕捉できない、といった状況は発生しなくなった。

ただ、これをやるとアプリのアップデートができなくなる。
特にポケGOは古いバージョンだとサーバーから怒られることもある。
その場合、頑張ってアップデートしなくてはならない。面倒。

全てのAndroid端末で発生するのではなく、極一部の機種で発生するようである。
ご参考、ということで。

Nexus 7が「Androidデバイスマネージャー」に表示されなくなった

以前は大丈夫だったのだが、いつの間にかAndroidデバイスマネージャーにNexus 7が表示されなくなってしまっていた。
Nexus 7上のGoogleアカウントを一旦作り直したり(設定⇒アカウント「Google」からアカウントを一旦削除)しているうちに、Google Play上の端末リスト(https://play.google.com/settings)には表示されるようになったものの、やっぱりAndroidデバイスマネージャーには表示されない。

ググって見つけたのがこちらのサイト。 http://enjoypclife.net/2013/09/05/android-data-delete-remote-lock-device-manager/

4.1の場合の手順は次の通り。

  1. 端末のアプリ メニューで [Google設定] を開きます。
  2. [Androidデバイスマネージャー] をタップします。
  3. [リモートでの出荷時設定のリセットを許可する] チェックボックスをオフにします。
  4. 端末のメインの [設定] メニューに移動して、[アプリ] > [すべて] > [Google Play開発者サービス] をタップします。
  5. [データを消去] をタップします。この操作によって個人データが削除されることはありません。
  6. [Google設定] に戻って、[リモートでの出荷時設定のリセットを許可する] を選択します。
  7. 端末を再起動します。

4.4だと一部表現が違うが、そこは想像で。

Ascend G620S − 通知が来ない

Ascend G620Sについてのトラブル。
LINEやメーラー(K-9 Mail)で通知が来ないことに気づいた。
手動であればトークを受けたり、メールを受けたりはできるのだが、自動では受信できない。
ぐぐったり、試行錯誤したりして、なんとか解決。

犯人は「省電力」。余分な電力をカットするために、G620Sには省電力という機能がある。このうち、「保護するアプリ」を「すべて」にすれば良い。
すなわち

設定⇒省電力⇒保護するアプリ⇒すべて

スリープ状態でも殺さずに「保護する」ということなんだろう。
「すべて」ではなく「LINE」や「K-9 Mail」を単独で保護するというのも試したが、これはうまく行かなかった。

「省電力」のモードには「パフォーマンス」と「スマート」があるが、これはどちらでも良さそう。とりあえずは「スマート」にしている。

【参考URL】
通知設定ONでもLINEを開かないと通知が来ない原因と対策全16個まとめ

Ascend G620S

HuaweiのAscend G620SというAndroidスマホを購入。
DTIのSIM(SMSなし)を入れて使ってみたが、いい感じ。
LTE(4G)での通信もできているようだが、250kbpsなので速いとは思えないけど。
セルスタンバイ問題もないっぽい。圏外100%だが、少なくとも一晩で電池ががくっとなくなるなんてことはない。
OSが4.4.4なので、2.2のT-01Cで使えてたアプリが使えなかったりと、ちょっとした違いはあるものの、慣れれば大丈夫かな。
見た目、触った感じはちょっと安っぽいけど。

総じて、まあいいんじゃない?
現時点ではかなり満足している。

Medias PP N-01D その5

Battery Mixを止めて様子を見てみた。
少し安定するような気もするが、やっぱり相変わらず不安定。
T-01Cの代わりにしようかと思って買ったものの、T-01Cの方が数段上な印象。

結局のところ、「ねこあつめ」専用マシンになるかも。

Medias PP N-01D その4

犯人はBattery Mix?

Battery Mixの消費電力がばかにならないことは認識していたのだが、「もしや?」と思いアンインストールしてみた。
そうすると、なんとなく安定して動いているような気が?

T-01Cだと安定して動くのに、N-01Dだと不安定、というアプリは他にもある。

いろいろ違うもんだねえ。

ねこあつめ」はT-01Cだと動かないけどN-01Dだと動く。
癒されるよ。