質問

デフォルトのAndroid UIコントロール(タイトル、バックグラウンド、ボタンなど)なしで、完全にカスタムダイアログまたはPopUpWindowを取得しようとしています。

これはまったく可能ですか?私はこれを検索するのに何時間も費やしましたが、運はありません...これは簡単に可能になるはずですが、私はそれを見つけることができません。

好ましくは、これはXMLからの眺めを膨らませることですが、この時点では、ただ機能するものは何でもいいでしょう。

ありがとう。

役に立ちましたか?

解決

私が取った手順:

  1. 拡張クラスを作成します ダイアログ.
  2. オンクリートで、電話してください setContentView(x, y)x あなたのr.layoutであり、 y R.Style.PopupStyleであること(以下を参照)。
  3. res/values/style.xmlでは、デフォルトのDialogWindowスタイルをオーバーライドする必要があります。私はこれを親として持っているスタイルを作ってみましたが、それでもすべてのデフォルトを明確にしていませんでした。そこで、Android Git Treeをチェックしてデフォルトのスタイルを取得し、コピーしました。これが1つです:
<style name="Theme.Dialog">
    <item name="android:windowFrame">@null</item>
    <item name="android:windowTitleStyle">@android:style/DialogWindowTitle</item>
    <item name="android:windowBackground">@android:drawable/panel_background</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
    <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
</style>

いくつかのエラーが発生します。公式のAndroid Styles.xmlおよびthemes.xmlファイルからより多くのものをコピーすることで解決します。これが私のstyles.xmlファイルの内容です: http://pastebin.com/rrr15yys

それはあなたに白いポップアップ、境界線、何も与えません。カスタマイズを開始します。 :)

私を正しい軌道に乗せてくれたMbairdに感謝します。

編集]私はもう一度自分の答えを調べる必要があり、公式のAndroidスタイル/テーマファイルを少なくとも10分間検索したので、将来のリファレンスのためにここにあります。styles.xmltemes.xml.

他のヒント

あなたは本当にカスタマイズしようとしているように聞こえます alertdialog. 。あなたがやりたいことのために、あなたは拡張する独自のクラスを作成するだけでよいかもしれません ダイアログ, 、拡張するクラスを書くことでアクティビティを作成する方法に似ています アクティビティ.

アクティビティと同じように、カスタムダイアログクラスのOnCreate()メソッド内でsetContentView()を呼び出すことにより、レイアウトXMLを設定できます。

私は過去にAlertDialogsをカスタマイズできる金額について制限に遭遇しました。自分のダイアログクラスを実装して、必要なカスタマイズのレベルを取得しました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top