相关疑难解决方法(0)

如何使用xml设置可绘制颜色的圆角半径?

在Android网站上,有一个关于颜色drawables部分.在xml中定义这些drawable如下所示:

<resources>
    <drawable name="solid_red">#f00</drawable>
    <drawable name="solid_blue">#0000ff</drawable>
    <drawable name="solid_green">#f0f0</drawable>
</resources>
Run Code Online (Sandbox Code Playgroud)

在java api中,他们有以下方法来定义圆角:

setCornerRadius(float radius)
Run Code Online (Sandbox Code Playgroud)

有没有办法在xml中设置圆角?

android drawable

99
推荐指数
3
解决办法
14万
查看次数

Android获得自定义Dialog的全宽

在我的应用程序中,我创建的自定义对话框没有完整的高度,我无法更改和自定义.例如看到这个屏幕截图:

在此输入图像描述 我的代码:

final Dialog contacts_dialog = new Dialog(ActivityGroup.this, R.style.theme_sms_receive_dialog);
contacts_dialog.setContentView(R.layout.dialog_schedule_date_time);
contacts_dialog.setCancelable(true);
contacts_dialog.setCanceledOnTouchOutside(true);
contacts_dialog.show();
Run Code Online (Sandbox Code Playgroud)

布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/layoutRoot"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@null"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/shape_header_dialog_background"
        android:orientation="horizontal"
        android:padding="4dp" >

        <TextView
            android:id="@+id/TextView21"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_marginRight="5dp"
            android:layout_weight="2"
            android:gravity="center_vertical|right"
            android:text="@string/choose_schedule_time_date"
            android:textColor="#ffffff"
            android:textSize="14sp"
            android:textStyle="bold" />

        <ImageView
            android:id="@+id/ImageView03"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_marginTop="0dp"
            android:background="@drawable/icon_scudule_time" />
    </LinearLayout>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

样式:

<style name="theme_sms_receive_dialog" parent="android:style/Theme.Dialog">
    <item name="android:windowNoTitle">true</item>
    <item name="android:background">@android:color/transparent</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="numberPickerStyle">@style/NPWidget.Holo.Light.NumberPicker</item>
</style>
Run Code Online (Sandbox Code Playgroud)

android android-layout android-dialog

46
推荐指数
8
解决办法
6万
查看次数

Android对话 - 圆角和透明度

我正在尝试使用圆角制作自定义的android对话框.我目前的尝试给了我这个结果.

圆角对话框

正如您所看到的,角落是圆的,但它仍然保持完整的白色角落.

下面是我放在drawable文件夹中的xml,用于创建带有圆角的红色边框的蓝色对话框.

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item> 
        <shape 
            android:shape="rectangle">
            <solid android:color="@color/transparent_black" />
            <corners android:radius="@dimen/border_radius"/>
        </shape>
    </item>   
    <item 
        android:left="@dimen/border_width" 
        android:right="@dimen/border_width"  
        android:top="@dimen/border_width"
        android:bottom="@dimen/border_width" >  

        <shape android:shape="rectangle"> 
            <solid android:color="@color/blue" />
            <corners android:radius="@dimen/border_radius"/>
        </shape>
    </item>    
</layer-list>
Run Code Online (Sandbox Code Playgroud)

下面是对话框的布局.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/fill"
android:orientation="vertical"
android:layout_margin="@dimen/spacing_normal"
android:padding="@dimen/spacing_normal"

android:background="@drawable/border_error_dialog" >

<RelativeLayout 
    style="@style/block"
    android:layout_gravity="center" >

    <ImageView
        android:id="@+id/imageView1"
        style="@style/wrap"
        android:layout_alignParentLeft="true"
        android:layout_centerHorizontal="true"
        android:contentDescription="@string/content_description_filler"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:id="@+id/textView1"
        style="@style/error_text"
        android:layout_centerVertical="true"
        android:layout_toRightOf="@+id/imageView1"
        android:text="@string/error_login" />

</RelativeLayout>

<Button
    android:id="@+id/button1"
    style="@style/wrap"
    android:layout_gravity="center"
    android:text="Button" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

以下是我创建对话框的Activity.

@Override
protected void onCreate(Bundle savedInstanceState) { …
Run Code Online (Sandbox Code Playgroud)

android dialog transparent android-layout android-alertdialog

20
推荐指数
4
解决办法
3万
查看次数

具有圆角和透明背景的Android自定义警报对话框

我创建了一个自定义AlertDialog使用圆角onDrawLinearLayout下面,

public class RoundedLinearLayout extends LinearLayout {

private Paint drawPaint;
private Paint roundPaint;

private int mCornerRadius = 100;

private RectF bounds;

@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public RoundedLinearLayout(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    onInit();
}

public RoundedLinearLayout(Context context, AttributeSet attrs) {
    super(context, attrs);
    onInit();
}

public RoundedLinearLayout(Context context) {
    super(context);
    onInit();
}

protected void onInit() {
    drawPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
    drawPaint.setColor(0xffffffff);
    drawPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));

    roundPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
    roundPaint.setColor(0xffffffff);

    setWillNotDraw(false);
}

@Override
protected void onSizeChanged(int w, int …
Run Code Online (Sandbox Code Playgroud)

transparency android rounded-corners android-alertdialog

2
推荐指数
3
解决办法
1万
查看次数

具有圆角半径的 Android 对话框背景具有分层背景

我是 Android 新手,也是 Java 新手。在我的应用程序中,我有一个我正在抛出的警报对话框,它显示了一个日期和时间选择器,供用户选择他们想要发送消息的日期时间。那部分进展顺利。

在我的 xml 中,当我设置当前为蓝色并具有圆角半径的背景属性时,似乎有一个额外的白色背景,而没有圆角半径在其后面窥视。我有点恼火。任何帮助表示赞赏。

xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:background="@drawable/corners_qk"
    android:layout_width="match_parent"
    android:padding="8dp"
    android:layout_height="match_parent">

<DatePicker
    android:id="@+id/date_picker"
    android:layout_width="match_parent"
    android:calendarViewShown="true"
    android:spinnersShown="false"
    android:layout_weight="4"
    android:layout_height="0dp" />

<TimePicker
    android:id="@+id/time_picker"
    android:layout_weight="4"
    android:layout_width="match_parent"
    android:layout_height="0dp" />

<Button
    android:id="@+id/date_time_set"
    android:layout_weight="1"
    android:layout_width="match_parent"
    android:background="@drawable/corners"
    android:text="@string/picker_button"
    android:layout_height="0dp" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

角点_qk.xml:

<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<corners
    android:radius="5dp" />
<solid
    android:color="@color/qkblue"/>
</shape>
Run Code Online (Sandbox Code Playgroud)

颜色.xml:

<resources>
    <color name="red">#FF0000</color>
    <color name="qkblue">#2483d0</color>
</resources>
Run Code Online (Sandbox Code Playgroud)

爪哇:

final View dialogView = View.inflate(this, R.layout.date_time_picker, null);
final AlertDialog alertDialog = new AlertDialog.Builder(this).create();

    dialogView.findViewById(R.id.date_time_set).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

             DatePicker …
Run Code Online (Sandbox Code Playgroud)

android android-layout

1
推荐指数
1
解决办法
3109
查看次数