私は何を望んでいましたか? 現在、自分のアプリの背景を設定する際に問題が発生しています。私が望んだのは、アプリユーザーが選択できる壁紙/背景の選択肢を持つページです。画像ビューをクリックして背景を選択したら、アプリ全体がその画像を背景として使用する必要があります。それだけです。アプリで選択している背景画像
私がやったこと。 利用可能な壁紙の選択肢として2つのImageViewを持つアクティビティを作成し、ユーザがそれらをクリックしたときに背景画像を設定するためにイメージビューを割り当てました。問題は今私が設定を保存し、私のプロジェクトの他のすべてのアクティビティに適用する方法を知らないということです。
XML
<?xml version="1.0" encoding="utf-8"?>
<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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:id="@+id/settingscreen"
tools:context="com.example.naris.auin.SettingsActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Background Selector"
android:id="@+id/textViewBackgroundSelector"
android:layout_below="@+id/switchNightMode"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="38dp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageViewBackground1"
android:layout_marginLeft="23dp"
android:layout_marginStart="23dp"
android:src="@drawable/rateicon"
android:layout_centerVertical="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageViewBackground2"
android:layout_centerVertical="true"
android:layout_toRightOf="@+id/textViewBackgroundSelector"
android:layout_toEndOf="@+id/textViewBackgroundSelector"
android:layout_marginLeft="36dp"
android:layout_marginStart="36dp"
android:src="@drawable/ic_launcher" />
</RelativeLayout>
セッティング活動
public class SettingsActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings);
final RelativeLayout Settingscreen = (RelativeLayout) findViewById(R.id.settingscreen);
ImageView ImageViewBackground1 = (ImageView) findViewById(R.id.imageViewBackground1);
ImageView ImageViewBackground2 = (ImageView) findViewById(R.id.imageViewBackground2);
ImageViewBackground1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Settingscreen.setBackgroundResource(R.drawable.faqicon);
}
});
ImageViewBackground2.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Settingscreen.setBackgroundResource(R.drawable.rateicon);
}
});
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == android.view.KeyEvent.KEYCODE_BACK)
{
startActivity(new Intent(SettingsActivity.this,
MainActivity.class));
finish();
}
return false;
};
}
事前に感謝します。
を使用しますextends ApCompatActivity {....} " – narispillai
はい私私の答えも更新されました。 –
"エラー:シンボル変数PREF_NAME&PRIVATE_MODEを見つけることができません"。これら2つの目的は何ですか?コードのこの部分(MainActivity)を他のすべてのアクティビティに追加する必要がありますか? XMLを使ってバックグラウンドを設定する他の方法はありませんか? – narispillai