0

以下のリンクからの提案に従います Android で透明なアクティビティを作成するにはどうすればよいですか? HTC Desire ではアクティビティは透過的ですが、Moto MileStone (Android) では機能しません。背景は黒です。以下のように res/values/styles.xml を変更しましたが、Moto MileStone の背景はまだ黒です。

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.Transparent" parent="@android:style/Theme.Translucent.NoTitleBar">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@color/transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:backgroundDimEnabled">false</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
</style>
</resources>
4

3 に答える 3

1

これが私の解決策です:

最初のアクティビティである私の XML ファイル。ボタンをクリックすると、ボタンを持つ 2 番目のアクティビティにリダイレクトされます。私は完全なソースコードを提供しています:

アクティビティ 1:

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Button nextBtn = (Button)findViewById(R.id.button1);
    nextBtn.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            startActivity(new Intent("com.ranjan.dibya.shadow.Next"));
        }
    });
}
}

アクティビティ 2:

public class Next extends Activity{

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.next);
}
}

アクティビティ 1 の XML:

<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:background="#f09473"
tools:context=".MainActivity" >

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"
    android:layout_marginRight="16dp"
    android:text="Button" />

 </RelativeLayout>

アクティビティ 2 の XML:

<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" >

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:text="This is clickable" />

</RelativeLayout>

私のマニフェスト

 <activity
        android:name=".Next"
        android:label="@string/app_name"
        android:theme="@style/Theme.MyTranslucent" >

スタイル:

<style name="Theme.MyTranslucent" parent="android:style/Theme.Translucent">
    <item name="android:backgroundDimEnabled">true</item>
    <item name="android:backgroundDimAmount">0.5</item>
    <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
    <item name="android:background">@android:color/transparent</item>
</style>

これは私にとってはうまくいきます。同じことがうまくいくことを願っています。

編集:あなたがたどったリンクは、中央のボタンが自分で考え出した透過的なアクティビティになります:)

于 2013-03-10T08:25:01.093 に答える
1

アクティビティの OnCreate メソッドで、いつでもビューの RGBA 値をプログラムで設定することができます。それはうまくいくかもしれません。

于 2012-05-09T08:46:39.870 に答える
0

私はこれを試したことはありませんが、背景を透明にする最良の方法は色を追加することだと思います.

透明色を16進数で表す

http://www.w3schools.com/html/html_colornames.asp ... ここで確認できます。

答えを受け入れる場合は、右をクリックしてください。

問題があれば投稿してください。

于 2012-05-09T08:41:20.387 に答える