私はこれを数時間で戦っています。何が起きているのか分かりません。私はいくつかのタブを持つアプリを持っています。このタブはTabGroupActivityによって管理されています。 このタブの1つで、私は透明な活動を開始しなければなりません。私が正常に(startActivityで)起動していれば、それは良いように見えますが、明らかにタブバーはクリックできません。透明性のために表示されますが、「到達可能」ではありません。ですから、タブバーを無理なくするには、特定のタブ内のアクティビティをサーフィンするためのメソッドstartChildActivityを定義する必要があります。しかし、私がそれをすると、活動が示されますが、透明ではなく、背景が黒です。 私はすべてを試しましたが、どのように修正できるのか分かりません。 以下は、問題が解決できると思うコードです。なぜなら、アクティビティの開始と子アクティビティの唯一の違いだからです。私はすべてのタブをロードする「メイン」の活動インサイド黒い背景を持つ透明な子アクティビティ
、各タブは次のように見ている関連活性を有する:
public class PreShowTabGroupActivity extends TabGroupActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
startChildActivity("PreshowActivity", new Intent(this, PreshowActivity.class));
}
}
透明でなければならない活動が「PreshowActivity」で開かれたものです。
次は、TabGroupActivityクラス内のstartChildActivityメソッドです。それは私の運を無意味に透明にしようとしています。
public void startChildActivity(String Id, Intent intent) {
Window window = getLocalActivityManager().startActivity(Id,intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
if (window != null) {
//window.set
mIdList.add(Id);
navController.notifyActivityChange();
setContentView(window.getDecorView());
window.getAttributes().alpha = 0;
window.getDecorView().setBackgroundColor(Color.TRANSPARENT);
window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
}
}
奇妙なことは、色の背景(REDなど)を置くと背景がその色に変わるということです。しかし、透明に設定すると背景は黒色になります。
私のマニフェストでは、私は透明テーマと半透明テーマの両方を試しましたが、運はありませんでした。
お手伝いいただければ、私はそれを高く評価します。
ありがとうございます!
背後に黒い背景があり、それが本当に透明なので、背後に黒い背景が見えるのでしょうか? – AJcodez
私は "startChildActivity"メソッドで以下のテストを行ったので、私はそれを確認しましたが、確かです。私はdecorViewの背景を赤、次に背景は透明、 BLACKの背景が表示されます。 – DiamondGerace