相关疑难解决方法(0)

Android文本大小编程太大了

我有两个szenarios:

第一:

 textView.setTextSize(getResources().getDimension(R.dimen.defaultTextSize));
Run Code Online (Sandbox Code Playgroud)

xml中的第二个:

android:textSize="@dimen/defaultTextSize"
Run Code Online (Sandbox Code Playgroud)

在values/dimen.xml中,我已经使用20sp声明了defaultTextSize

在我的第一种情况下,文本比我的第二种情况要大得多(并且在某些屏幕上不同).为什么?我做错了吗?

android textview

11
推荐指数
2
解决办法
5345
查看次数

将边距添加到Snackbar视图

我正在更新我当前的应用程序以使用零食栏,在Google规范中它们显示了各种使用它们的方法http://www.google.com/design/spec/components/snackbars-toasts.html#snackbars-toasts-specs

例A:

有保证金的小吃吧

例B:

Snackbar固定在布局上

这是我的代码atm:

Snackbar snackbar = Snackbar.make(mParentLayout, displayMessage,     
    Snackbar.LENGTH_LONG);
    snackbar.setAction(actionMessage, mClickListener);
    snackbar.show();
Run Code Online (Sandbox Code Playgroud)

我在例B中得到了结果,

我该如何添加保证金?

android android-layout android-snackbar

7
推荐指数
6
解决办法
9398
查看次数

DialogFragment按状态栏重叠

我有点困惑.

首先,当我创建一个工具栏并且它被状态栏重叠时,我只是添加fitSysmtemWindow="true"了父XML,它工作得很好.

但是当我创建FullScreen时DialogFragment,它也会被状态栏重叠.我试图添加fitSystemWindow="true"它不起作用.

仅出现在Android 5.0+上.没有将状态栏设置为半透明的任何地方.

这是我的DialogFragment代码

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                     Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View view = inflater.inflate(R.layout.fragment_create_bill_dialog,container, false);

    return view;
}

@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
    Dialog dialog = super.onCreateDialog(savedInstanceState);
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    return dialog;
}
Run Code Online (Sandbox Code Playgroud)

谢谢.为我糟糕的Eng工作.

android android-layout android-dialogfragment

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

在带有文本的按钮中缩放drawableLeft

我有一个带文字的按钮和左边的抽屉.有没有什么方法可以在保持纵横比的同时将可绘制比例调整到合适的尺寸(填充按钮的高度)?

我的布局相关摘录:

        <Button 
            android:text="@string/add_fav"
            android:id="@+id/event_fav_button"
            android:layout_width="match_parent"
            android:layout_height="40dp"
            android:drawableLeft="@drawable/star_yellow"/>  
Run Code Online (Sandbox Code Playgroud)

scaling android button drawable

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

Android提升和setElevation效果不一样

我注意到当我在xml中使用elevation属性并将其设置为4dp时,我得到一个正常的阴影.当我在java中使用setElevation(4)时,我得到的阴影比xml属性少.我该如何解决这个问题?

xml android shadow android-elevation pixel-density

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

Android Recycleview- 在底部显示第一个项目并从下到上滚动下一个项目

我有一个包含多个项目的回收站视图。我需要从底部开始显示项目,即第一个项目应该显示在底部,从下到上滚动后,将显示更多项目。为此,我尝试的是,

linearlayoutManager.setStackFromEnd(true);
Run Code Online (Sandbox Code Playgroud)

这有助于从底部开始项目。但是当有多个项目时,超过同时适合屏幕的大小,那么第一个项目会随着项目数量的增加而移动到顶部。

我也试过

linearlayoutManager.scrollToPosition(0);
Run Code Online (Sandbox Code Playgroud)

这没有改变任何东西。

这是一张图片,显示了我正在寻找的东西。

在此处输入图片说明

上面列表中还有一些项目仍然不可见。

这是它的外观 当这些项目滚动时, 在此处输入图片说明.

我已经检查了图像中此视图的视图层次结构,该图像仅显示了一个 recyclerview 及其中的项目。并且recyclerview 的高度是match_parent,即顶部空间,没有项目显示recyclerview 下面的另一个视图,这是一个谷歌地图。我只需要知道如何在不使用更多额外视图的情况下实现 recyclerview 的此功能。

任何帮助将不胜感激..!!

android scroll material-design android-recyclerview

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

如何在android自定义seekbar中设置ToolTip Text?

我有一个带有drawable的自定义搜寻栏,它工作正常,我正在尝试通过搜索栏对用户操作进行工具提示文本,有没有不用第三方库的方法,我已经发布了下面的代码,用于自定义搜寻栏

我还附上了我希望在下面实现的示例进度工具提示

任何参考或解决方案将不胜感激

这就是我需要我的搜索栏看起来像的样子

implementation "com.android.support:appcompat-v7:${android_support_version}"

seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar seekBar, int progressValue, boolean fromUser) {
                seekBar.setThumb(getThumb(progressValue));
                TooltipCompat.setTooltipText(seekBar, String.valueOf(progressValue));
            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {
                //Do nothing
            }

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {
                //Do nothing
            }
        });

 private Drawable getThumb(int progress) {
        View thumbView = LayoutInflater.from(getActivity()).inflate(R.layout.seekbar_tv, null, false);
        ((TextView) thumbView.findViewById(R.id.tvProgress)).setText(progress + "");
        thumbView.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
        Bitmap bitmap = Bitmap.createBitmap(thumbView.getMeasuredWidth(), thumbView.getMeasuredHeight(), Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(bitmap);
        thumbView.layout(0, 0, thumbView.getMeasuredWidth(), thumbView.getMeasuredHeight());
        thumbView.draw(canvas);
        return new BitmapDrawable(getResources(), bitmap);
    }

<!--mySeekBarInLayout--> …
Run Code Online (Sandbox Code Playgroud)

android android-appcompat android-drawable android-seekbar

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

安卓。设置左边距/右边距不起作用

这很奇怪,但是在 Java 代码中设置左边距或右边距在某些设备/平台上不起作用。

这是代码。简单的xml:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#ffffff"
    >

    <View
        android:id="@+id/myView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_marginLeft="0dp"
        android:layout_marginTop="0dp"
        android:background="#00ff00" />

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

爪哇:

@Override
public void onConfigurationChanged (Configuration newConfig)
{
    super.onConfigurationChanged(newConfig);

    if(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE)
    {
        FrameLayout.LayoutParams params = (FrameLayout.LayoutParams)findViewById(R.id.myView).getLayoutParams();
        params.leftMargin = 50;
        params.rightMargin = 50;
        params.topMargin = 50;
        params.bottomMargin = 50;
        findViewById(R.id.myView).requestLayout();
    }
}
Run Code Online (Sandbox Code Playgroud)

所以我在 FrameLayout 中有一个绿色的视图。在旋转时,我会更改视图的边距。(我的活动有 android:configChanges="orientation|screenSize")

结果如下:

三星 Galaxy S 3 (Android 4.1.2)(工作正常)

在此处输入图片说明

在此处输入图片说明

索尼爱立信 Xperia Arc S (Android 4.0.4)(工作奇怪!)

在此处输入图片说明

在此处输入图片说明

正如您在代码中看到的,在 Android 4.1.2 上正常工作。而在 Android 4.0.4 上没有设置左右边距,而是设置了上边距。为什么要顶?

我已经在模拟器上测试过了。所有平台 >= Android 4 …

java android margin

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

android - 将dp转换为float

我的字体大小是12dp.

我正在设置字体TextPaint,因为我正在使用跨度.问题是TextPaint接受的参数是浮点数.我想知道如何将12 dp转换为浮点数?

android font-size

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

Android工具栏 - 以编程方式更改导航图标的高度和宽度

在此输入图像描述我想以编程方式在Android工具栏中更改导航图标的高度和宽度(在屏幕截图中的黑色圆圈中).有没有办法这样做.这不是工具栏徽标.我无法更新Styles xml中的工具栏主题,因为我希望它是动态的.请帮忙.

android android-toolbar

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