相关疑难解决方法(0)

如何将Corner Radius应用于LinearLayout

我想制作一个带圆角边框的布局.如何应用特定大小的半径LinearLayout

android android-layout

109
推荐指数
4
解决办法
13万
查看次数

如何设置形状的不透明度?

我已经知道如何设置背景图像的不透明度,但我需要设置形状对象的不透明度.

在我的Android应用中,我喜欢这样: 在此输入图像描述

我希望这个黑色区域有点透明,就像这里一样,例如我可以通过这个"欢迎......"看到圆圈:

在此输入图像描述

这是我的形状代码:

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/shape_my"">
    <stroke android:width="4dp" android:color="#636161" />
    <padding android:left="20dp"
        android:top="20dp"
        android:right="20dp"
        android:bottom="20dp" />
    <corners android:radius="24dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

graphics android

77
推荐指数
2
解决办法
9万
查看次数

如何改善Android应用的外观和风格?

我已经看到标准的Android UI组件外观不佳.

任何人都可以提供一些关于如何改善Android应用程序外观和感觉的链接或建议吗?

user-interface android

63
推荐指数
6
解决办法
2万
查看次数

如何在ListView中为TextView的背景颜色添加渐变效果?

参考这些问题:

在ListView中向TextView添加渐变效果会生成NPE

如何在ListView上更改颜色和字体

我想知道如何去设置的背景TextViewListView有渐变效果?

在上面的一个问题中,我最终将渐变效果添加到了文本中TextView.浏览第二个问题后,我似乎只能添加固定的背景颜色.

如何向背景添加渐变?我应该做一个CustomListAdapter

android gradient textview

35
推荐指数
2
解决办法
8万
查看次数

带有圆角的Android AlertDialog

我一直试图用圆角制作我的警报对话但不知何故我无法做到.我试过,但我失败了.我试着关注这个博客http://blog.stylingandroid.com/archives/271并根据它制作了我的风格.

顺便说一句,现在就加我的问题.我的一些新发现.上面链接中的代码在2.3.3(GB)上工作正常但在ICS中根本不起作用.一些改变使代码破裂.

我想避免创建9个补丁图像,因此我使用的是形状.9补丁图像是我将尝试的最后一件事.我知道android警报对话框样式正在使用9补丁图像.在抛出这个问题之前我已经看过了.

/res/values/themes.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <style name="MyTheme" parent="@android:style/Theme.Dialog">
        <item name="android:alertDialogStyle">@style/dialog</item>
    </style>


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

/res/values/styles.xml

<resources xmlns:android="http://schemas.android.com/apk/res/android">

    <style name="AppTheme" parent="android:Theme.Light" />

    <style name="myImageView">

        <!-- 3dp so the background border to be visible -->
        <item name="android:padding">3dp</item>
        <item name="android:background">@drawable/image_drawable</item>
        <item name="android:scaleType">fitCenter</item>
    </style>

    <style name="dialog">
        <item name="android:fullDark">@drawable/dialog_body</item>
        <item name="android:topDark">@drawable/dialog_title</item>
        <item name="android:centerDark">@drawable/dialog_body</item>
        <item name="android:bottomDark">@drawable/dialog_footer</item>
        <item name="android:fullBright">@drawable/dialog_body</item>
        <item name="android:centerBright">@drawable/dialog_body</item>
        <item name="android:topBright">@drawable/dialog_title</item>
        <item name="android:bottomBright">@drawable/dialog_footer</item>
        <item name="android:bottomMedium">@drawable/dialog_footer</item>
        <item name="android:centerMedium">@drawable/dialog_body</item>
    </style>

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

/res/drawable/dialog_title.xml

<inset xmlns:android="http://schemas.android.com/apk/res/android"
    android:insetBottom="-1dp">
    <shape android:shape="rectangle">
        <solid android:color="#FFFFFF" />
        <corners android:topLeftRadius="5dp" android:topRightRadius="5dp" /> …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-alertdialog android-styles

30
推荐指数
5
解决办法
4万
查看次数

Android XML圆角剪裁

我已经设置了一个具有以下可绘制背景的LinearLayout:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <corners android:radius="10dp" />
    <solid android:color="#CCFFFFFF"/>
</shape>
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是在LinearLayout中我有另一个LinearLayout元素位于它的父元素的底部.由于没有圆角,其角落延伸超过父母的左下角和右下角.

Child LinearLayout上的可绘制背景如下所示:

<?xml version="1.0" encoding="utf-8"?>
<bitmap
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:src="@drawable/pedometer_stats_background" 
    android:tileMode="repeat"   
/>
Run Code Online (Sandbox Code Playgroud)

问题看起来像这样:设备上的http://kttns.org/hn2zm非剪辑更明显.

完成剪辑的最佳方法是什么?

xml android rounded-corners

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

绘制带圆角的LinearLayout

我正在尝试实现一个使用圆角绘制自己的LinearLayout子类.根据我的研究,我设置setWillNotDraw(false)并覆盖onDraw()在画布上绘制一个圆角矩形:

@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);

    int sc = canvas.saveLayer(0, 0, getWidth(), getHeight(), drawPaint, Canvas.MATRIX_SAVE_FLAG | Canvas.CLIP_SAVE_FLAG | Canvas.HAS_ALPHA_LAYER_SAVE_FLAG
            | Canvas.FULL_COLOR_LAYER_SAVE_FLAG | Canvas.CLIP_TO_LAYER_SAVE_FLAG);
    canvas.drawRoundRect(bounds, mCornerRadius, mCornerRadius, roundPaint);
    canvas.restoreToCount(sc);
}
Run Code Online (Sandbox Code Playgroud)

哪里:

drawPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
drawPaint.setColor(0xffffffff);
drawPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN));

roundPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
roundPaint.setColor(0xffffffff);
Run Code Online (Sandbox Code Playgroud)

DST_IN这里似乎是正确的选择(根据APIDemos示例),但应该是透明的区域(圆形的)具有黑色背景,并且子项的角仍然可见.这是使用Android 4.2.2的Galaxy Nexus的结果:

例

任何提示?

编辑:这是我想要实现的,抱歉photoshopping的粗糙:)

在此输入图像描述

编辑2:我向GitHub添加了一个可运行的示例项目:https://github.com/venator85/RoundClippingLayout

谢谢 ;)

android android-canvas

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

Android ImageView上的抗锯齿圆角

我是android dev的新手,现在我已经尝试了几个小时为ImageView添加漂亮而光滑的圆角,但没有成功.

我尝试的第一件事就是直接对我的图像进行圆角处理,但这意味着要更改位图,因为我需要保留原始位图,而且这些都非常大,这对内存不友好.这也会导致其他困难,因为我的ImageView是流动的.

我尝试使用的第二件事是继承我的视图后的clipPath方法.这有效,但角落是别名.然后我尝试添加一个PaintFlagsDrawFilter来实现别名,但这没有用.我正在使用monodroid,我想知道这应该用于Java.

这是我的代码(C#):

public class MyImageView : ImageView
{
    private float[] roundedCorner;

    /**
     * Contains the rounded  corners for the view.
     * You can define one, four or height values.
     * This behaves as the css border-radius property
     * 
     * @see http://developer.android.com/reference/android/graphics/Path.html#addRoundRect(android.graphics.RectF, float[], android.graphics.Path.Direction)
     */
    public float[] RoundedCorners{
        get{
            return roundedCorner;
        }
        set{
            float[] finalValue = new float[8];
            int i=0;
            if(value.Length == 1){
                for(i=0; i<8;i++){
                    finalValue[i] = value[0];
                }
            }else if(value.Length == 4){
                for(i=0; i<4;i++){
                    finalValue[2*i] = value[i]; …
Run Code Online (Sandbox Code Playgroud)

android antialiasing rounded-corners imageview

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

Android ListView的风格如iPhone Grouped UITableView

我有一个使用UITableView的iPhone应用程序.此表视图使用"Grouped"样式,看起来非常好.现在我将这个应用程序移植到android.是否有任何关于如何使Android的ListView看起来像iPhone的分组UITableView(圆角等)的库/示例?

iphone android listview uitableview

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